n8n是一个开源工作流自动化平台,通过Hologres Vector Store社区节点,您可以在n8n中使用Hologres的向量检索能力,构建语义搜索和检索增强生成(RAG)等AI应用工作流。
n8n和Hologres向量存储节点介绍
n8n是一个功能强大的开源工作流自动化平台,允许用户将各种应用程序、服务和API连接在一起,无需编码即可创建自动化工作流。n8n采用基于节点的可视化界面,用户只需连接代表不同服务或操作的节点,即可构建复杂的自动化流程。它可自行托管,具有高度可扩展性,并支持公平代码和企业许可。
n8n中的Hologres Vector Store节点将阿里云Hologres集成到您的自动化工作流程中。Hologres是阿里云自主研发的一站式实时数据仓库引擎,支持高性能向量检索能力。该节点支持HGraph向量索引,可实现高效的近似最近邻(ANN)搜索,适用于语义搜索、检索增强生成(RAG)系统以及智能AI应用程序。
通过n8n中的Hologres Vector Store节点,您可以:
以向量存储的方式与您的Hologres数据库互动。
向Hologres插入文档并自动创建HGraph向量索引。
从Hologres获取文档。
检索文件,将其提供给连接到链上的检索器。
作为工具直接连接AI Agents。
根据元数据过滤文档。
更新已存在的文档。
关于向量计算的更多信息,请参见向量计算介绍。
前提条件
Hologres实例版本需要为Hologres V4.0及以上版本。
安装
在n8n中安装Hologres Vector Store社区节点。
通过n8n界面安装
在n8n界面中,单击右上角的Settings(设置)。
选择Community Nodes(社区节点)。
单击Install a community node(安装社区节点)。
输入包名:
n8n-nodes-hologres-vectorstore。单击Install(安装)。
通过npm安装
如果您是自托管n8n,可以在n8n安装目录下运行以下命令:
npm install n8n-nodes-hologres-vectorstore配置凭据
在使用Hologres Vector Store节点之前,需要先配置Hologres连接凭据。
在n8n中,进入Credentials(凭据)页面。
单击Add Credential(添加凭据)。
搜索并选择Hologres。
填写以下连接信息。
字段 | 描述 | 默认值 |
Host | Hologres实例地址。 |
|
Port | Hologres端口。 |
|
Database | 数据库名称。 |
|
User | 用户名。 | 无默认值,必填 |
Password | 密码。 | 无默认值,必填 |
Maximum Number of Connections | 最大连接数。 |
|
SSL | SSL连接模式。 |
|
Allow Unauthorized Certificates | 是否允许未授权证书。 |
|
使用模式
您可以在n8n中通过以下模式使用Hologres Vector Store节点。
作为常规节点插入和检索文档
您可以将Hologres Vector Store作为一个常规节点来插入或获取文档。这种模式将Hologres Vector Store放在常规连接流中,而不使用AI Agents。
节点连接流程:Main Input → Hologres Vector Store → Main Output
作为AI Agent的工具
您可以将Hologres Vector Store节点直接连接到AI Agent的工具连接器,以便在回答查询时使用向量存储作为资源。
节点连接流程:AI Agent(Tools连接器) → Hologres Vector Store节点(retrieve-as-tool模式)
作为向量存储检索器
您可以将向量存储检索器节点与Hologres Vector Store节点一起使用,从Hologres向量存储节点中获取文档。这通常与问答链节点一起使用,以便从向量存储中获取与给定聊天输入相匹配的文档。
节点连接流程:Question Answer Chain(Retriever连接器) → Vector Store Retriever(Vector Store连接器) → Hologres Vector Store(retrieve模式)
作为向量存储问题解答工具
另一种模式是使用Vector Store Question Answer Tool来汇总Hologres Vector Store节点的结果并回答问题。这种模式不是直接连接Hologres Vector Store作为一个工具,而是使用一个专门用于汇总向量存储中数据的工具。
节点连接流程:AI Agent(Tools连接器) → Vector Store Question Answer Tool(Vector Store连接器) → Hologres Vector Store(retrieve模式)
操作模式
Hologres Vector Store节点支持五种不同的操作模式,每种模式都是为不同的工作流程用例量身定制的。
获取多个(Get Many)
根据与提示语义的相似性检索多个文档。参数配置如下。
参数 | 描述 | 必填 |
Table Name | 存储向量的表名。 | 是 |
Prompt | 搜索提示文本。 | 是 |
Limit | 返回结果数量。 | 否(默认4) |
Include Metadata | 是否包含文档元数据。 | 否(默认true) |
Distance Method | 距离计算方法。 | 否(默认Cosine) |
插入文档(Insert Documents)
向Hologres表中插入新文档,自动创建表和HGraph向量索引。参数配置如下。
参数 | 描述 | 必填 |
Table Name | 存储向量的表名。 | 是 |
Dimensions | 向量维度数。 | 是 |
Embedding Batch Size | 嵌入批处理大小。 | 否(默认10) |
Distance Method | 距离计算方法。 | 否(默认Cosine) |
更新文档(Update Documents)
根据文档ID更新已存在的文档内容、向量和元数据。参数配置如下。
参数 | 描述 | 必填 |
Table Name | 存储向量的表名。 | 是 |
ID | 要更新的文档ID。 | 是 |
检索文档(作为链/工具的向量存储)
在基于链的系统中将节点用作检索器,输出为Vector Store类型。
检索文件(作为AI Agents的工具)
在回答问题时,将节点用作AI Agent的工具资源。额外参数如下。
参数 | 描述 | 必填 |
Name | 工具名称。 | 是 |
Description | 工具描述(帮助LLM理解工具用途)。 | 是 |
Limit | 返回结果数量。 | 否(默认4) |
高级配置
距离计算方法
Hologres Vector Store支持三种距离计算方法。
方法 | 描述 | 适用场景 |
Cosine | 余弦相似度。 | 文本语义搜索(默认推荐)。 |
Inner Product | 内积。 | 归一化向量搜索。 |
Euclidean | 欧几里得距离。 | 图像特征搜索。 |
列名配置
如果您的表使用自定义列名,可以在Options中配置以下参数。
参数 | 默认值 | 描述 |
ID Column Name |
| 文档ID列名。 |
Vector Column Name |
| 向量列名。 |
Content Column Name |
| 文本内容列名。 |
Metadata Column Name |
| 元数据列名。 |
HGraph索引设置
Hologres的HGraph索引提供高性能的向量检索能力,可在插入文档时配置。关于HGraph索引的更多信息,请参见HGraph索引使用指南(推荐)。
参数 | 默认值 | 描述 |
Base Quantization Type |
| 基础索引量化类型(rabitq, sq8, sq8_uniform, fp16, fp32)。 |
Use Reorder |
| 是否使用高精度索引重排序。 |
Precise Quantization Type |
| 高精度索引量化类型。 |
Precise IO Type |
| 高精度索引存储方式。 |
Max Degree |
| 索引构建时每个顶点的最大连接数。 |
EF Construction |
| 索引构建时的搜索深度。 |
量化类型说明
rabitq:基于RaBitQ的高效量化方法(推荐)。sq8:8位标量量化。sq8_uniform:8位均匀标量量化。fp16:16位浮点数。fp32:32位浮点数(最高精度)。
Precise IO Type说明
block_memory_io:低精度和高精度索引都存储在内存中(推荐)。reader_io:低精度索引在内存中,高精度索引在磁盘上。
元数据过滤
支持根据自定义元数据字段过滤搜索结果,多个字段应用AND条件。
表结构
当插入文档时,节点会自动创建以下结构的表(如果表不存在)。
CREATE TABLE IF NOT EXISTS "your_table_name" (
"id" TEXT NOT NULL PRIMARY KEY,
"text" TEXT,
"metadata" JSONB,
"embedding" FLOAT4[] CHECK (
array_ndims("embedding") = 1
AND array_length("embedding", 1) = <dimensions>
)
);工作流示例
文档嵌入和存储工作流
[Manual Trigger] → [Document Loader] → [Hologres Vector Store (Insert)] → [Output]语义搜索工作流
[Manual Trigger] → [Set (query)] → [Hologres Vector Store (Get Many)] → [Output]RAG问答工作流
[Chat Trigger] → [AI Agent] ← [Hologres Vector Store (retrieve-as-tool)]
← [OpenAI Chat Model]问答链工作流
[Chat Trigger] → [Question Answer Chain] ← [Vector Store Retriever] ← [Hologres Vector Store (retrieve)]
← [OpenAI Chat Model]注意事项
向量维度:插入文档时必须指定正确的向量维度,该值必须与您使用的嵌入模型输出维度匹配。例如:
OpenAI text-embedding-ada-002:1536维。
OpenAI text-embedding-3-small:1536维。
OpenAI text-embedding-3-large:3072维。
连接池管理:节点会自动管理连接池,确保在操作完成后正确释放连接。
索引性能:HGraph索引参数会影响检索性能和准确性。更高的
maxDegree和efConstruction会提高检索质量,但增加构建时间。不建议maxDegree超过96,efConstruction超过600。SQL安全:所有表名和列名都会经过验证,只允许字母、数字和下划线,以防止SQL注入。