跳到主要内容

PGVector Vector Store(PGVector 向量存储)

PGVector 是 PostgreSQL 的扩展。使用此节点,与 PostgreSQL 数据库中的 PGVector 表交互。可向向量表插入文档、从中获取文档、检索文档并提供给连接到链1的检索器,或作为工具2直接连接到智能体3。

本页列出了 PGVector 节点的参数,并提供更多资源的链接。

信息

凭据

此节点的身份验证信息,请参阅 Postgres 凭据文档。

信息

子节点中的参数解析

使用表达式处理多个数据项时,子节点的行为与其他节点不同。

多数节点,包括根节点,可以接收任意数量的输入数据项,处理后输出结果。你可以用表达式引用输入数据项,节点会依次对每个数据项解析表达式。例如,输入包含五个 name 值时,表达式 {{ $json.name }} 会依次解析为每个名称。

在子节点中,表达式始终解析为第一个数据项。例如,输入包含五个 name 值时,表达式 {{ $json.name }} 始终解析为第一个名称。

节点使用模式 ​

可按以下方式使用 PGVector Vector Store 节点。

作为普通节点插入和检索文档 ​

可将 PGVector Vector Store 用作普通节点,插入或获取文档。此模式将 PGVector Vector Store 放在常规连接流程中,无需使用智能体。

示例请参阅此模板的场景 1(该模板使用 Supabase Vector Store,但模式相同)。

作为工具直接连接到 AI 智能体 ​

可将 PGVector Vector Store 节点直接连接到 AI 智能体的工具连接器,让智能体在回答查询时使用向量存储作为资源。

此时连接方式为:AI Agent(工具连接器)→ PGVector Vector Store 节点。

使用检索器获取文档 ​

可将 Vector Store Retriever 节点与 PGVector Vector Store 节点配合使用,从 PGVector Vector Store 节点获取文档。这通常与 Question and Answer Chain 节点配合,从向量存储获取与给定聊天输入匹配的文档。

连接流程示例如下(链接示例使用 Pinecone,但模式相同):Question and Answer Chain(Retriever 连接器)→ Vector Store Retriever(Vector Store 连接器)→ PGVector Vector Store。

使用 Vector Store Question Answer Tool 回答问题 ​

另一种模式使用 Vector Store Question Answer Tool,汇总 PGVector Vector Store 节点的结果并回答问题。此模式通过专门用于汇总向量存储数据的工具工作,无需将 PGVector Vector Store 直接作为工具连接。

此时的连接流程如下(链接示例使用 Simple Vector Store,但模式相同):AI Agent(工具连接器)→ Vector Store Question Answer Tool(Vector Store 连接器)→ Simple Vector Store。

节点参数 ​

此向量存储节点有四种模式:Get Many(获取多条)、Insert Documents(插入文档)、Retrieve Documents (As Vector Store for Chain/Tool)(检索文档,作为链或工具的向量存储)及 Retrieve Documents (As Tool for AI Agent)(检索文档,作为 AI 智能体工具)。所选模式决定可执行的操作,以及可用的输入和输出。

Rerank Results(结果重排序) ​

启用重排序。开启此选项后,必须将 Reranker Cohere(Cohere 重排序器)等重排序节点连接到向量存储,由其重新排列查询结果。此选项可用于 Get Many、Retrieve Documents (As Vector Store for Chain/Tool) 和 Retrieve Documents (As Tool for AI Agent) 模式。

Get Many(获取多条)参数 ​

  • Table name(表名称):输入要查询的表名称。
  • Prompt(提示词):输入搜索查询。
  • Limit(上限):输入数字,设置从向量存储检索的结果数量。例如,设为 10 可获取最匹配的十条结果。

Insert Documents(插入文档)参数 ​

  • Table name(表名称):输入要查询的表名称。

Retrieve Documents(作为链或工具的向量存储)参数 ​

  • Table name(表名称):输入要查询的表名称。

Retrieve Documents(作为 AI 智能体的工具)参数 ​

  • Name(名称):向量存储的名称。
  • Description(描述):向 LLM 说明此工具的用途。清晰、具体的描述有助于 LLM 更经常地生成预期结果。
  • Table Name(表名称):输入要使用的 PGVector 表。
  • Limit(上限):输入从向量存储检索的结果数量。例如,设为 10 可获取最匹配的十条结果。

节点选项 ​

Collection(集合) ​

用于在 PGVector 中分隔数据集。此功能会创建独立的表和列,记录向量所属的集合。

  • Use Collection(使用集合):开启时使用集合,关闭时不使用。
  • Collection Name(集合名称):输入要使用的集合名称。
  • Collection Table Name(集合表名称):输入用于存储集合信息的表名称。

Column Names(列名称) ​

以下选项指定存储向量及其对应信息的列名称:

  • ID Column Name(ID 列名称)
  • Vector Column Name(向量列名称)
  • Content Column Name(内容列名称)
  • Metadata Column Name(元数据列名称)

Metadata Filter(元数据过滤器) ​

适用于 Get Many(获取多条)模式。搜索数据时,使用此项匹配与文档关联的元数据。

这是一个 AND 查询。如果指定多个元数据筛选字段,必须全部匹配。

插入数据时,元数据通过文档加载器设置。加载文档的更多信息,请参阅 Default Data Loader(默认数据加载器)。

模板与示例 ​

浏览 PGVector Vector Store(PGVector 向量存储) 集成模板,或搜索所有模板

相关资源 ​

该服务的更多信息,请参阅 LangChain PGVector 文档。

查看 n8n 的高级 AI 文档。

自行托管 AI 入门套件 ​

刚开始使用 AI 和自行托管的 n8n?可试用 n8n 的自行托管 AI 入门套件,通过 Ollama、Qdrant 和 PostgreSQL 搭建概念验证或演示环境。

Footnotes​

  1. AI 链通过对组件的一系列调用,让你与大语言模型(LLM)及其他资源交互。n8n 中的 AI 链不使用持久记忆,因此不能通过它引用先前的上下文(此用途请使用 AI 智能体)。 ↩

  2. 在 AI 场景中,工具是附加资源,AI 可在响应请求时调用它获取特定信息或功能。AI 模型可以通过工具与外部系统交互,或完成具体、专门的任务。 ↩

  3. AI 智能体是能够响应请求、作出决策并为用户执行现实任务的人工智能系统。它们使用大语言模型(LLM)理解用户输入,利用可用的信息和资源,决定如何最好地处理请求。 ↩

本文为社区中文翻译。查看对应英文原文