跳到主要内容

Supabase Vector Store(Supabase 向量存储)

使用 Supabase Vector Store,将 Supabase 数据库作为向量存储进行交互。可向向量数据库插入文档、从中获取多个文档,以及检索文档并提供给连接到链的检索器。

使用 Supabase Vector Store,将 Supabase 数据库作为向量存储1进行交互。可向向量数据库插入文档、从中获取文档、检索文档并提供给连接到链2的检索器,或直接连接到智能体3作为工具4使用。也可根据 ID 更新向量存储中的数据项。

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

信息

凭据

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

信息

子节点中的参数解析

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

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

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

Supabase 提供了设置向量存储的快速入门指南。如果使用与快速入门默认值不同的设置,可能会影响 n8n 中的参数设置。请确保理解所做的配置。

节点使用模式 ​

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

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

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

示例请参阅此模板的场景 1。

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

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

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

使用检索器获取文档 ​

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

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

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

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

此时的连接流程为:AI Agent(工具连接器)→ Vector Store Question Answer Tool(Vector Store 连接器)→ Supabase Vector Store。

节点参数 ​

Operation Mode(操作模式) ​

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

Get Many(获取多条) ​

此模式下,可提供提示词,从向量数据库检索多个文档。提示词会转换为嵌入向量,用于相似度搜索。节点返回与提示词最相似的文档及其相似度分数。适合检索一组相似文档,再将其作为额外上下文传给智能体。

Insert Documents(插入文档) ​

使用 Insert Documents(插入文档)模式,将新文档插入向量数据库。

Retrieve Documents (As Vector Store for Chain/Tool)(检索文档,作为链或工具的向量存储) ​

将 Retrieve Documents (As Vector Store for Chain/Tool)(检索文档,作为链或工具的向量存储)模式与向量存储检索器配合使用,从向量数据库检索文档,并提供给与链相连的检索器。此模式下,必须将节点连接到检索器节点或根节点。

Retrieve Documents (As Tool for AI Agent)(检索文档,作为 AI 智能体工具) ​

使用 Retrieve Documents (As Tool for AI Agent)(检索文档,作为 AI 智能体工具)模式,将向量存储用作回答查询的工具资源。生成响应时,向量存储的名称和描述与问题详情匹配,智能体便会使用该向量存储。

Update Documents(更新文档) ​

使用 Update Documents(更新文档)模式,按 ID 更新向量数据库中的文档。在 ID 中填入要更新的嵌入条目 ID。

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(表名称):输入要使用的 Supabase 表。
  • Prompt(提示词):输入搜索查询。
  • Limit(上限):输入从向量存储检索的结果数量。例如,设为 10 可获取最匹配的十条结果。

Insert Documents(插入文档)参数 ​

  • Table Name(表名称):输入要使用的 Supabase 表。

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

  • Table Name(表名称):输入要使用的 Supabase 表。

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

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

Update Documents(更新文档) ​

  • Table Name(表名称):输入要使用的 Supabase 表。
  • ID:嵌入条目的 ID。

Update Documents(更新文档)参数

  • ID

节点选项 ​

Query Name(查询名称) ​

在 Supabase 中设置的匹配函数名称。如果按照 Supabase 快速入门指南配置,此值为 match_documents。

Metadata Filter(元数据过滤器) ​

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

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

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

模板与示例 ​

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

相关资源 ​

查看 n8n 的高级 AI 文档。

Footnotes​

  1. 向量存储或向量数据库用于存储信息的数学表示。将其与嵌入模型和检索器配合使用,可创建供 AI 在回答问题时访问的数据库。 ↩

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

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

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

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