Skip to content

PGVector 向量存储节点#

¥PGVector Vector Store node

PGVector 是 PostgreSQL 的扩展。使用此节点可以与 PostgreSQL 数据库中的 PGVector 表进行交互。你可以将文档插入向量表,从向量表中获取文档,检索文档并将其提供给连接到 chain 的检索器,或者直接连接到 agent 作为 tool

¥PGVector is an extension of Postgresql. Use this node to interact with the PGVector tables in your Postgresql database. You can insert documents into a vector table, get documents from a vector table, retrieve documents to provide them to a retriever connected to a chain, or connect directly to an agent as a tool.

本页提供 PGVector 节点的节点参数以及更多资源的链接。

¥On this page, you'll find the node parameters for the PGVector node, and links to more resources.

Credentials

你可以在 此处 中找到此节点的身份验证信息。

¥You can find authentication information for this node here.

Parameter resolution in sub-nodes

Sub-nodes behave differently to other nodes when processing multiple items using an expression.

Most nodes, including root nodes, take any number of items as input, process these items, and output the results. You can use expressions to refer to input items, and the node resolves the expression for each item in turn. For example, given an input of five name values, the expression {{ $json.name }} resolves to each name in turn.

In sub-nodes, the expression always resolves to the first item. For example, given an input of five name values, the expression {{ $json.name }} always resolves to the first name.

节点使用模式#

¥Node usage patterns

你可以按照以下模式使用 PGVector 向量存储节点。

¥You can use the PGVector Vector Store node in the following patterns.

作为常规应用使用用于插入和检索文档的节点#

¥Use as a regular node to insert and retrieve documents

你可以将 PGVector 向量存储用作常规节点来插入或获取文档。此模式将 PGVector 向量存储置于常规连接流程中,而无需使用代理。

¥You can use the PGVector Vector Store as a regular node to insert or get documents. This pattern places the PGVector Vector Store in the regular connection flow without using an agent.

你可以在 此模板 的场景 1 中找到示例(该模板使用 Supabase Vector Store,但模式相同)。

¥You can see an example of this in scenario 1 of this template (the template uses the Supabase Vector Store, but the pattern is the same).

直接连接到 AI 代理作为工具#

¥Connect directly to an AI agent as a tool

你可以将 PGVector 向量存储节点直接连接到 AI 代理 的工具连接器,以便在响应查询时使用向量存储作为资源。

¥You can connect the PGVector Vector Store node directly to the tool connector of an AI agent to use a vector store as a resource when answering queries.

在这里,连接方式如下:AI 代理(工具连接器)-> PGVector 向量存储节点。

¥Here, the connection would be: AI agent (tools connector) -> PGVector Vector Store node.

使用检索器获取文档#

¥Use a retriever to fetch documents

你可以将 Vector Store 检索器 节点与 PGVector 向量存储节点配合使用,从 PGVector 向量存储节点获取文档。这通常与 Question and Answer 链 节点一起使用,用于从向量存储中获取与给定聊天输入匹配的文档。

¥You can use the Vector Store Retriever node with the PGVector Vector Store node to fetch documents from the PGVector Vector Store node. This is often used with the Question and Answer Chain node to fetch documents from the vector store that match the given chat input.

连接流程示例(链接的示例使用 Pinecone,但模式相同)如下所示:问答链(检索器连接器)-> 向量存储检索器(向量存储连接器)-> PGVector 向量存储。

¥An example of the connection flow (the linked example uses Pinecone, but the pattern is the same) would be: Question and Answer Chain (Retriever connector) -> Vector Store Retriever (Vector Store connector) -> PGVector Vector Store.

使用 Vector Store 问答工具回答问题#

¥Use the Vector Store Question Answer Tool to answer questions

另一种模式使用 Vector Store 问答工具 来汇总来自 PGVector 向量存储节点的结果并回答问题。此模式并非直接连接 PGVector 向量存储,而是使用专门用于汇总向量存储中数据的工具。

¥Another pattern uses the Vector Store Question Answer Tool to summarize results and answer questions from the PGVector Vector Store node. Rather than connecting the PGVector Vector Store directly as a tool, this pattern uses a tool specifically designed to summarizes data in the vector store.

在这种情况下,连接流程(链接示例使用简单向量存储,但格式相同)如下所示:AI 代理(工具连接器)-> Vector Store 问答工具(Vector Store 连接器)-> Simple Vector Store。

¥The connections flow (the linked example uses the Simple Vector Store, but the pattern is the same) in this case would look like this: AI agent (tools connector) -> Vector Store Question Answer Tool (Vector Store connector) -> Simple Vector store.

节点参数#

¥Node parameters

Operation Mode#

This Vector Store node has four modes: Get Many, Insert Documents, Retrieve Documents (As Vector Store for Chain/Tool), and Retrieve Documents (As Tool for AI Agent). The mode you select determines the operations you can perform with the node and what inputs and outputs are available.

Get Many#

In this mode, you can retrieve multiple documents from your vector database by providing a prompt. The prompt is embedded and used for similarity search. The node returns the documents that are most similar to the prompt with their similarity score. This is useful if you want to retrieve a list of similar documents and pass them to an agent as additional context.

Insert Documents#

Use insert documents mode to insert new documents into your vector database.

Retrieve Documents (as Vector Store for Chain/Tool)#

Use Retrieve Documents (As Vector Store for Chain/Tool) mode with a vector-store retriever to retrieve documents from a vector database and provide them to the retriever connected to a chain. In this mode you must connect the node to a retriever node or root node.

Retrieve Documents (as Tool for AI Agent)#

Use Retrieve Documents (As Tool for AI Agent) mode to use the vector store as a tool resource when answering queries. When formulating responses, the agent uses the vector store when the vector store name and description match the question details.

重新排序结果#

¥Rerank Results

Enables reranking. If you enable this option, you must connect a reranking node to the vector store. That node will then rerank the results for queries. You can use this option with the Get Many, Retrieve Documents (As Vector Store for Chain/Tool) and Retrieve Documents (As Tool for AI Agent) modes.

获取多个参数#

¥Get Many parameters

  • 表名:输入要查询的表名称。

¥Table name: Enter the name of the table you want to query.

  • 提示:输入你的搜索查询。

¥Prompt: Enter your search query.

  • 限制:输入一个数字,用于设置从矢量存储中检索的结果数量。例如,将其设置为 10 以获取十个最佳结果。

¥Limit: Enter a number to set how many results to retrieve from the vector store. For example, set this to 10 to get the ten best results.

插入文档参数#

¥Insert Documents parameters

  • 表名:输入要查询的表名称。

¥Table name: Enter the name of the table you want to query.

检索文档参数(作为链/工具的向量存储)#

¥Retrieve Documents parameters (As Vector Store for Chain/Tool)

  • 表名:输入要查询的表名称。

¥Table name: Enter the name of the table you want to query.

检索文档(作为工具) (适用于 AI 代理)参数#

¥Retrieve Documents (As Tool for AI Agent) parameters

  • 名称:向量存储的名称。

¥Name: The name of the vector store.

  • 描述:向 LLM 解释此工具的功能。良好的、具体的描述有助于 LLM 更频繁地生成预期结果。

¥Description: Explain to the LLM what this tool does. A good, specific description allows LLMs to produce expected results more often.

  • 表名:输入要使用的 PGVector 表。

¥Table Name: Enter the PGVector table to use.

  • 限制:输入要从向量存储中检索的结果数量。例如,将其设置为 10 以获取十个最佳结果。

¥Limit: Enter how many results to retrieve from the vector store. For example, set this to 10 to get the ten best results.

节点选项#

¥Node options

集合#

¥Collection

PGVector 中用于分离数据集的一种方法。此教程将创建一个单独的表和列,用于跟踪向量所属的集合。

¥A way to separate datasets in PGVector. This creates a separate table and column to keep track of which collection a vector belongs to.

  • 使用集合:选择是否使用集合(已开启)或不使用(已关闭)。

¥Use Collection: Select whether to use a collection (turned on) or not (turned off).

  • 收藏名称:输入要使用的集合名称。

¥Collection Name: Enter the name of the collection you want to use.

  • 收藏表名称:输入用于存储集合信息的表名称。

¥Collection Table Name: Enter the name of the table to store collection information in.

列名#

¥Column Names

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

¥The following options specify the names of the columns to store the vectors and corresponding information in:

  • ID 列名

¥ID Column Name

  • 向量列名

¥Vector Column Name

  • 内容列名

¥Content Column Name

  • 元数据列名

¥Metadata Column Name

元数据筛选器#

¥Metadata Filter

Available in Get Many mode. When searching for data, use this to match with metadata associated with the document.

This is an AND query. If you specify more than one metadata filter field, all of them must match.

When inserting data, the metadata is set using the document loader. Refer to Default Data Loader for more information on loading documents.

模板和示例#

¥Templates and examples

Template widget placeholder.

相关资源#

¥Related resources

有关服务的更多信息,请参阅 LangChain 的 PGVector 文档

¥Refer to LangChain's PGVector documentation for more information about the service.

View n8n's Advanced AI documentation.

Self-hosted AI Starter Kit#

New to working with AI and using self-hosted n8n? Try n8n's self-hosted AI Starter Kit to get started with a proof-of-concept or demo playground using Ollama, Qdrant, and PostgreSQL.