Azure AI Search 向量存储节点#
Azure AI Search(原 Azure Cognitive Search)是一项具备向量搜索能力的云搜索服务,适用于 RAG 与语义搜索应用场景。此节点可用于存储、检索及查询向量嵌入及其关联内容与元数据。
认证凭证
该节点的身份验证信息请参阅此处。
子节点中的参数解析
在使用表达式处理多项数据时,子节点的运行机制与其他节点存在差异。
多数节点(包括根节点)可接收任意数量的输入项,经处理后输出相应结果。您可通过表达式引用输入项,节点将逐项解析表达式。例如:当输入包含五个name值时,表达式{{ $json.name }}会依次解析每个名称。
在子节点中,表达式始终仅解析首项数据。例如:当输入包含五个name值时,表达式{{ $json.name }}将固定解析第一个名称。
前置条件#
使用本节点前需准备:
- 有效的 Azure 订阅
- 已创建的 Azure AI Search 服务
- 配置 API 密钥认证(写入操作需管理密钥,只读操作需查询密钥)
具体设置步骤请参阅凭证文档。
索引配置#
本节点支持自动创建索引。在自动创建过程中,节点将配置:
- 根据嵌入模型维度自动设置向量字段
- 采用 HNSW 算法配合余弦度量实现高效相似性搜索
- 支持筛选检索的内容字段与元数据字段
您也可通过 Azure 门户预创建索引以实现自定义配置。示例架构:
{
"name": "n8n-vectorstore",
"fields": [
{
"name": "id",
"type": "Edm.String",
"key": true,
"filterable": true
},
{
"name": "content",
"type": "Edm.String",
"searchable": true
},
{
"name": "content_vector",
"type": "Collection(Edm.Single)",
"searchable": true,
"vectorSearchDimensions": 1536,
"vectorSearchProfileName": "n8n-vector-profile"
},
{
"name": "metadata",
"type": "Edm.String",
"filterable": true
}
],
"vectorSearch": {
"profiles": [
{
"name": "n8n-vector-profile",
"algorithm": "n8n-vector-algorithm"
}
],
"algorithms": [
{
"name": "n8n-vector-algorithm",
"kind": "hnsw",
"hnswParameters": {
"metric": "cosine",
"m": 4,
"efConstruction": 400,
"efSearch": 500
}
}
]
}
}
向量维度
vectorSearchDimensions 值必须与您的嵌入模型输出相匹配。
节点使用模式#
作为常规节点插入和检索文档#
直接在工作流中使用该节点来插入或检索文档,无需通过代理。有关示例模式,请参阅此模板(使用 Supabase,但模式相同)。
直接作为工具连接到 AI 代理#
连接到 AI 代理 的工具连接器,将向量存储用作可搜索知识库:
AI 代理(工具连接器)→ Azure AI 搜索向量存储节点
使用检索器获取文档#
与 向量存储检索器 和 问答链 结合使用,实现检索增强生成:
问答链(检索器)→ 向量存储检索器(向量存储)→ Azure AI 搜索向量存储
请参阅此示例工作流。
使用向量存储问答工具#
使用 向量存储问答工具 来总结和回答问题:
AI 代理(工具)→ 向量存储问答工具(向量存储)→ Azure AI 搜索向量存储
请参阅此示例。
节点参数#
此向量存储节点有五种模式:获取多个、插入文档、检索文档(作为链/工具的向量存储)、检索文档(作为 AI 代理的工具) 和 更新文档。您选择的模式决定了可以使用节点执行的操作以及可用的输入和输出。
获取多个#
在此模式下,您可以通过提供提示从向量数据库中检索多个文档。提示将被嵌入并用于相似性搜索。节点将返回与提示最相似的文档及其相似性分数。如果您想检索相似文档列表并将其作为附加上下文传递给代理,此 模式非常有用。
插入文档#
使用插入文档模式将新文档插入到向量数据库中。
检索文档(作为链/工具的向量存储)#
将检索文档(作为链/工具的向量存储)模式与向量存储检索器一起使用,以从向量数据库检索文档并将其提供给连接到链的检索器。在此模式下,您必须将节点连接到检索器节点或根节点。
检索文档(作为 AI 代理的工具)#
使用检索文档(作为 AI 代理的工具)模式,在回答查询时将向量存储用作工具资源。在制定响应时,当向量存储名称和描述与问题细节匹配时,代理会使用向量存储。