用途:为 LangChain 提供基于 PostgreSQL 与 pgvector 的向量存储和聊天历史持久化能力,适用于 RAG 检索与对话记录场景。
主要能力:v2 API 通过 PGEngine 管理异步连接池,用 PGVectorStore.create()/create_sync() 工厂创建向量库,需先调用 init_vectorstore_table() 初始化表;支持 add_documents、similarity_search、带分数检索、MMR 多样性检索。可用 apply_vector_index() 添加 HNSWIndex 或 IVFFlatIndex,并在查询时用 HNSWQueryOptions/IVFFlatQueryOptions 调优。支持 HybridSearchConfig 混合检索(reciprocal_rank_fusion 或 weighted_sum_ranking),以及通过 Column/ColumnDict 添加自定义元数据列。PostgresChatMessageHistory 支持同步与异步 psycopg 连接持久化聊天记录。
使用方式:安装 pip install -U langchain-postgres psycopg[binary] psycopg-pool;可用 docker run -p 5432:5432 -e POSTGRES_PASSWORD=password pgvector/pgvector:pg16 启动带 pgvector 的 PostgreSQL。v1 旧版 PGVector 直接用构造函数传入 connection_string。
适用场景:需要 Postgres 承载向量检索与对话历史的 LangChain 应用,新项目建议用 v2。
限制:需 PostgreSQL 安装 pgvector 扩展;v2 必须先初始化向量表;v1 不支持混合检索、异步能力有限、索引需手写 SQL。具体收费与平台信息暂未提供。