PGVector 向量存储节点(PGVector Vector Store node)#
PGVector 是 PostgreSQL 的一个扩展。使用此节点可以与 PostgreSQL 数据库中的 PGVector 表进行交互。你可以将文档插入向量表,从向量表中获取文档,检索文档以提供给连接到链的检索器,或者直接作为工具连接到代理。
🌐 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.
凭证
你可以在这里找到该节点的认证信息。
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 向量存储,但模式是相同的)。
🌐 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 Retriever 节点与 PGVector 向量存储节点一起使用,从 PGVector 向量存储节点中获取文档。这通常与 Question and Answer Chain 节点一起使用,以从向量存储中获取与给定聊天输入匹配的文档。
🌐 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 Question Answer Tool 来总结结果并回答来自 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 代理(工具连接器)-> 向量存储问答工具(向量存储连接器)-> 简单向量存储。
🌐 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)#
- 表名:输入你想要查询的表的名称。
- 提示:请输入你的搜索查询。
- 限制:输入一个数字以设置从向量存储中检索多少结果。例如,将其设置为
10以获取十个最佳结果。
插入文档参数(Insert Documents parameters)#
- 表名:输入你想要查询的表的名称。
检索文档参数(作为链/工具的向量存储)(Retrieve Documents parameters (As Vector Store for Chain/Tool))#
- 表名:输入你想要查询的表的名称。
检索文档(作为工具) (适用于 AI 代理)参数(Retrieve Documents (As Tool for AI Agent) parameters)#
- 名称:向量存储的名称。
- 描述:向大型语言模型(LLM)解释此工具的功能。具体而清晰的描述可以让大型语言模型更频繁地产生预期的结果。
- 表名:输入要使用的 PGVector 表。
- 限制:输入要从向量存储中获取的结果数量。例如,将其设置为
10可获取十个最佳结果。
节点选项(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.
- 使用集合:选择是否使用集合(开启)或不使用(关闭)。
- 集合名称:输入你想使用的集合名称。
- 集合表名称:输入用于存储集合信息的表的名称。
列名(Column Names)#
以下选项指定用于存储向量及其对应信息的列名:
🌐 The following options specify the names of the columns to store the vectors and corresponding information in:
- ID 列名
- 向量列名称
- 内容列名称
- 元数据列名
元数据筛选器(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)#
相关资源(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.