索引
索引是指构造文档的方法,以便 LLM 可以最好地与它们交互。此模块包含用于处理文档的实用工具函数、不同类型的索引,以及在链中使用这些索引的示例。
在链中使用索引的最常见方式是“检索”步骤。这一步是指接受用户的查询并返回最相关的文档。我们之所以这样区分,是因为(1)索引可以用于检索之外的其他事情,(2)检索可以使用索引之外的其他逻辑来查找相关文档。因此,我们有一个“寻回者”接口的概念-这是大多数链工作的接口。
大多数时候,当我们谈论索引和检索时,我们谈论的是索引和检索非结构化数据(如文本文档)。对于与结构化数据(SQL 表等)或 API 的交互,请参阅相应的用例部分以获得相关功能的链接。LangChain 支持的主要索引和检索类型目前主要集中在向量数据库上,因此我们深入研究了这些主题的许多功能。
有关这方面的一切概述,请参阅下面的教程开始:
然后,我们对四个主要组成部分进行深入研究。
文档加载程序
如何从各种源加载文档。
文字分割器
关于分割文本的抽象和实现的概述。
VectorStores
概述 Vector Stores 和 LangChain 提供的许多集成。
猎犬
检索器概述和 LangChain 提供的实现。