LangChain:基于句子语义的分割器SentenceTransformersTokenTextSplitter
基于句子语义切割的文本切割尽可能的保留了句子的完整语义。SentenceTransformersTokenTextSplitter
分割器通过 model_name
参数指定预训练模型的名称,这个模型通常对应一个特定的分词器。
LangChain:基于句子语义的分割器SentenceTransformersTokenTextSplitter
基于句子语义切割的文本切割尽可能的保留了句子的完整语义。SentenceTransformersTokenTextSplitter
分割器通过 model_name
参数指定预训练模型的名称,这个模型通常对应一个特定的分词器。
大语言模型存在Token数量限制,不应超出该限制(如 GPT-4 Turbo 支持 128K Token)。超出限制会导致截断或报错。
大语言模型存在Token数量限制,不应超出该限制。因此,在分割文本成块时,需要计算好Token的数量。市面上存在多种tokenizer,计算文本token数量时,应使用与语言模型相匹配的tokenizer。
LangChain:文本切割器TextSplitter的split_documents()与split_text()
在 LangChain
库中,文本切割器基类TextSplitter
提供了split_documents()
和 split_text()
两个切割方法常用的文本分割方法。
TextSplitter
的子类都继承的这两个方法。下面分别介绍它们的作用和区别。
在Langchain的数据增强模块,数据以 Document 对象和向量形式在各个包装器之间流转。向量形式的数据由向量数据库管理,而被转换为向量之前,数据以 Document 对象的形式存在。
在LangChain框架中,嵌入模型包装器(Embedding Model Wrappers) 是用于将文本转换为向量表示的标准化接口,支持多种底层模型和服务。
LangChain框架中的Loader组件是数据增强处理流程中的核心模块,负责将不同格式的数据源转换为统一的Document对象。这些文档对象包含文本内容(page_content)和元数据(metadata),为后续的文本处理、嵌入、问答等操作奠定基础。
LangChain 框架的数据增强模块主要基于**检索增强生成(RAG)**技术,通过整合外部知识库提升大语言模型(LLM)在专业领域、实时性要求和私有数据场景下的表现。
LangChain的输出解析器(Output Parser)是Model I/O模块的核心组件之一,主要用于将语言模型(LLM)的非结构化文本输出转换为结构化数据。它们确保模型输出符合特定格式,便于后续处理,比如解析模型的输出数据。
示例选择器的作用是在传递给模型的示例中进行选择,以确保示例的数量和内容长度不会超过模型的处理能力。这样,即使有大量的示例,模型也能够有效地处理提示词,而不会因为示例过多或内容过长而无法处理。