Pathway 是一个开放数据处理框架。它让您能够轻松开发数据转换管道和机器学习应用程序,这些应用程序可以处理实时数据源和不断变化的数据。本笔记本演示了如何将实时
Pathway 数据索引管道与 LangChain 配合使用。您可以像查询常规向量存储一样,从链中查询此管道的结果。然而,在幕后,Pathway 会在每次数据更改时更新索引,为您提供始终最新的答案。 在本笔记本中,我们将使用一个公共演示文档处理管道,该管道:- 监控多个云数据源的数据变化。
- 为数据构建向量索引。
VectorStore客户端连接到索引,该客户端实现了similarity_search函数以检索匹配文档。 本文档中使用的基本管道可以毫不费力地为存储在云位置的文件构建一个简单的向量索引。然而,Pathway 提供了构建实时数据管道和应用程序所需的一切,包括类似 SQL 的操作,如按组归约和不同数据源之间的连接、基于时间的数据分组和窗口,以及广泛的连接器。 您需要通过pip install -qU langchain-community安装langchain-community才能使用此集成。查询数据管道
要实例化和配置客户端,您需要提供文档索引管道的url 或 host 和 port。在下面的代码中,我们使用一个公开可用的演示管道,其 REST API 可在 https://demo-document-indexing.pathway.stream 访问。此演示从 Google Drive 和 Sharepoint 提取文档,并维护一个用于检索文档的索引。
基于文件元数据进行筛选
我们支持使用 jmespath 表达式进行文档过滤,例如获取索引文件的信息
PathwayVectorClient.get_vectorstore_statistics() 提供了向量存储状态的基本统计信息,例如索引文件的数量和上次更新的时间戳。您可以在您的链中使用它来告诉用户您的知识库有多新。
您自己的管道
在生产环境中运行
要拥有您自己的 Pathway 数据索引管道,请查看 Pathway 提供的托管管道。您也可以运行您自己的 Pathway 管道——有关如何构建管道的信息,请参阅Pathway 指南。处理文档
向量化管道支持可插拔的组件,用于解析、分割和嵌入文档。对于嵌入和分割,您可以使用 LangChain 组件,或查看 Pathway 中可用的嵌入器和分割器。如果未提供解析器,则默认为UTF-8 解析器。您可以在此处找到可用的解析器。
以编程方式连接这些文档到 Claude、VSCode 等,通过 MCP 获取实时答案。