这是使用代码位于名为 langchain-postgres 的集成包中。postgres作为后端并利用pgvector扩展的 LangChain 向量存储抽象的实现。
状态
此代码已从langchain-community 迁移到名为 langchain-postgres 的专用包中。已做出以下变更:
langchain-postgres仅适用于 psycopg3。请将连接字符串从postgresql+psycopg2://...更新为postgresql+psycopg://langchain:langchain@...(注意:驱动名称是psycopg而不是psycopg3,但它会使用psycopg3)。- 嵌入存储和集合的模式已更改,以使 add_documents 在使用用户指定的 ID 时能正确运行。
- 现在必须传递一个显式的连接对象。
配置
首先下载合作伙伴包:pgvector 扩展的 postgres 容器:
凭据
运行本笔记本不需要任何凭据,只需确保你已下载langchain-postgres 包并正确启动了 postgres 容器。
如果你希望获得最佳的模型调用自动追踪,也可以取消以下注释来设置你的 LangSmith API 密钥:
实例化
管理向量存储
向向量存储添加项目
注意:按 ID 添加文档会覆盖与该 ID 匹配的所有现有文档。从向量存储中删除项目
查询向量存储
创建向量存储并添加相关文档后,通常需要在运行链或代理时对其进行查询。过滤支持
向量存储支持一组可应用于文档元数据字段的过滤器。| 运算符 | 含义/类别 |
|---|---|
| $eq | 等于 (==) |
| $ne | 不等于 (!=) |
| $lt | 小于 (<) |
| $lte | 小于等于 (<=) |
| $gt | 大于 (>) |
| $gte | 大于等于 (>=) |
| $in | 特殊情况(在列表中) |
| $nin | 特殊情况(不在列表中) |
| $between | 特殊情况(在两值之间) |
| $like | 文本(like) |
| $ilike | 文本(不区分大小写 like) |
| $and | 逻辑与(and) |
| $or | 逻辑或(or) |
直接查询
执行简单的相似性搜索,方法如下:PGVector 向量存储上执行的不同搜索的完整列表,请参阅 API 参考。
转换为检索器后查询
你也可以将向量存储转换为检索器,以便在链中更便捷地使用。用于检索增强生成
有关如何将此向量存储用于检索增强生成(RAG)的指南,请参阅以下章节:API 参考
有关所有 __ModuleName__VectorStore 功能和配置的详细文档,请参阅 API 参考:python.langchain.com/api_reference/postgres/vectorstores/langchain_postgres.vectorstores.PGVector.htmlConnect these docs to Claude, VSCode, and more via MCP for real-time answers.

