Supabase 向量存储节点#
使用 Supabase 向量存储(Vector Store)将你的 Supabase 数据库作为向量数据库进行交互。你可以将文档插入向量数据库、从向量数据库中获取多个文档,并检索文档以提供给连接到链(chain)的检索器(retriever)。 使用 Supabase 向量存储与你的 Supabase 数据库进行交互,将其作为 向量存储 使用。你可以将文档插入向量数据库、从向量数据库中获取文档、检索文档并提供给连接到 链(chain) 的检索器,或者直接连接到 智能代理(agent) 作为 工具(tool) 使用。你还可以通过 ID 更新向量存储中的条目。
本页面包含 Supabase 节点的参数说明以及相关资源链接。
凭据
有关此节点的认证信息,请参见此处。
子节点中的参数解析#
当使用表达式处理多个项目时,子节点的行为与其他节点不同。
大多数节点(包括根节点)可以接收任意数量的输入项,逐个处理这些项目,并输出结果。你可以使用表达式引用输入项,节点会依次为每个项目解析该表达式。例如,如果有五个 name 值作为输入,表达式 {{ $json.name }} 将依次解析为每一个名字。
而在子节点中,表达式始终解析为第一个项目。例如,同样有五个 name 值作为输入,表达式 {{ $json.name }} 始终解析为第一个名字。
Supabase 提供了快速入门指南来设置你的向量存储。如果你在快速入门中使用的设置不同于默认值,可能会影响 n8n 中的参数配置。请确保你清楚自己正在做什么。
节点使用模式#
你可以按照以下几种模式使用 Supabase 向量存储节点。
作为普通节点插入、更新和检索文档#
你可以将 Supabase 向量存储作为普通节点用于插入、更新或获取文档。这种模式下,Supabase 向量存储节点处于常规连接流程中,不涉及智能代理(agent)。
你可以在此模板 的场景 1 中看到示例。
直接作为工具连接到 AI 智能代理#
你可以将 Supabase 向量存储节点直接连接到 AI 智能代理 的工具连接器(tools connector),以便在回答查询时将向量存储作为资源使用。
此时的连接方式为:AI 智能代理(工具连接器) -> Supabase 向量存储节点。
使用检索器获取文档#
你可以将 向量存储检索器(Vector Store Retriever) 节点与 Supabase 向量存储节点结合使用,从 Supabase 向量存储中提取文档。这通常与 问答链(Question and Answer Chain) 节点配合使用,以从向量存储中获取与给定聊天输入相匹配的文档。
一个连接流程示例(该示例使用 Pinecone,但模式相同)如下所示: 问答链(Retriever 连接器) -> 向量存储检索器(Vector Store 连接器) -> Supabase 向量存储。
使用向量存储问答工具回答问题#
另一种模式是使用 向量存储问答工具(Vector Store Question Answer Tool) 对 Supabase 向量存储中的结果进行总结并回答问题。与直接将向量存储作为工具不同,此模式使用专门设计用于汇总向量存储数据的工具。
在这种情况下,连接流程 如下所示: AI 智能代理(工具连接器) -> 向量存储问答工具(Vector Store 连接器) -> Supabase 向量存储。
节点参数#
操作模式#
该向量存储节点有五种模式:获取多个(Get Many)、插入文档(Insert Documents)、检索文档(作为链/工具的向量存储)(Retrieve Documents (As Vector Store for Chain/Tool))、检索文档(作为 AI 智能代理的工具)(Retrieve Documents (As Tool for AI Agent)) 和 更新文档(Update Documents)。所选模式决定了你可以执行的操作以及可用的输入和输出。
获取多个(Get Many)#
在此模式下,你可以通过提供提示词(prompt)从向量数据库中检索多个文档。该提示词将被嵌入(embed),并用于相似性搜索。节点将返回与提示最相似的文档及其相似度得分。当你希望获取一组相似文档并将其作为额外上下文传递给智能代理时,此功能非常有用。
插入文档(Insert Documents)#
使用“插入文档”模式将新文档插入你的向量数据库。
检索文档(作为链/工具的向量存储)(Retrieve Documents (As Vector Store for Chain/Tool))
将“检索文档(作为链/工具的向量存储)”模式与向量存储检索器结合使用,从向量数据库中检索文档,并提供给连接到链的检索器。在此模式下,必须将该节点连接到一个检索器节点或根节点。
检索文档(作为 AI 智能代理的工具)(Retrieve Documents (As Tool for AI Agent))
使用“检索文档(作为 AI 智能代理的工具)”模式,在回答查询时将向量存储作为工具资源使用。当智能代理生成响应时,若问题内容与向量存储的名称和描述匹配,则会使用该向量存储。
更新文档(Update Documents)#
使用“更新文档”模式通过 ID 更新向量数据库中的文档。在 ID 字段中填写要更新的嵌入条目的 ID。
重排序结果(Rerank Results)#
启用 重排序(reranking) 功能。如果启用此选项,必须将一个重排序节点连接到向量存储节点,该节点会对查询结果进行重新排序。此选项可用于 获取多个(Get Many)、检索文档(作为链/工具的向量存储) 和 检索文档(作为 AI 智能代理的工具) 三种模式。
获取多个参数(Get Many parameters)#
- 表名(Table Name):输入要使用的 Supabase 表。
- 提示词(Prompt):输入搜索查询。
- 限制数量(Limit):输入从向量存储中检索的结果数量。例如,设置为
10可获取前十条最佳结果。
插入文档参数#
- 表名(Table Name):输入要使用的 Supabase 表。
检索文档(作为链/工具的向量存储)参数#
- 表名(Table Name):输入要使用的 Supabase 表。
检索文档(作为 AI Agent 的工具)参数#
- 名称(Name):向量存储的名称。
- 描述(Description):向大语言模型(LLM)说明此工具的功能。清晰具体的描述有助于 LLM 更频繁地生成符合预期的结果。
- 表名(Table Name):输入要使用的 Supabase 表。
- 限制(Limit):设置从向量存储中检索的结果数量。例如,设置为
10可获取最相关的 10 条结果。
更新文档#
- 表名(Table Name):输入要使用的 Supabase 表。
- ID:嵌入条目(embedding entry)的 ID。
更新文档 的参数:
- ID
节点选项#
查询名称#
你在 Supabase 中设置的匹配函数的名称。如果你遵循了 Supabase 快速入门指南,该名称应为 match_documents。
元数据过滤器#
在 获取多个(Get Many) 模式下可用。在搜索数据时,使用此功能与文档关联的元数据进行匹配。
这是一个 AND 查询:如果你指定了多个元数据过滤字段,则所有条件都必须匹配。
在插入数据时,元数据由文档加载器(document loader)设置。有关加载文档的更多信息,请参考 默认数据加载器。
模板与示例#
AI Agent 用于与 Supabase 存储中的文件对话 作者:Mark Shcherbakov 查看模板详情
Supabase 插入、更新插入与检索 作者:Ria 查看模板详情
使用 Apify、GPT-4o 和 WhatsApp 自动化销售冷呼流程 作者:Khairul Muhtadin 查看模板详情
浏览 Supabase 向量存储集成模板,或 搜索所有模板
相关资源#
更多服务信息,请参考 LangChain 的 Supabase 文档。 查看 n8n 的 高级 AI(Advanced AI) 文档。