LangChain 分块简介
LangChain 是一个 LLM 协调框架,内置了一些用于分块以及加载文档的工具。本次分块教程主要围绕设置分块参数,并最小限度地使用 LLM。简而言之,通过编写一个函数并设置其参数来加载文档并对文档进行分块,该函数打印结果为分块后的文本块。在下述实验中,我们会在这个函数中运行多个参数值。
-
LangChain 分块代码导入和设置
代码第一部分主要是导入和设置工具。下面代码有很多导入语句,os 和dotenv都比较常用。它们仅用于环境变量。
接下来,我们深入讲解一下有关 LangChain 和 pymilvus 部分的代码。
首先是用于获取文档的三个导入:
NotionDirectoryLoader用于加载含有 markdown/Notion 文档的目录。然后,MarkdownHeader 和 RecursiveCharacter 文本分割器会根据标题(标题分割器)或一组预先选定的字符分隔符(递归分割器)分割 markdown 文档中的文本。
接下来,是检索器导入。我们用 Milvus 、OpenAIEmbeddings 模型和 OpenAI 大语言模型