Azure Cognitive Search)是 Microsoft 云搜索服务,为开发者提供基础设施、API 和工具,用于大规模检索向量、关键字和混合查询信息。 AzureAISearchRetriever 是一个集成模块,它根据非结构化查询返回文档。它基于 BaseRetriever 类,并针对 Azure AI Search 的 2023-11-01 稳定 REST API 版本,这意味着它支持向量索引和查询。 本指南将帮助您开始使用 Azure AI Search 检索器。有关所有 AzureAISearchRetriever 功能和配置的详细文档,请参阅API 参考。 AzureAISearchRetriever 取代了 AzureCognitiveSearchRetriever,后者即将被弃用。我们建议切换到基于最新稳定版搜索 API 的新版本。集成详情
设置
要使用此模块,您需要- 一个 Azure AI Search 服务。如果您注册 Azure 试用版,可以免费创建一个。免费服务配额较低,但足以运行此 Notebook 中的代码。
- 一个带有向量字段的现有索引。有多种方法可以创建一个,包括使用向量存储模块。或者,尝试 Azure AI Search REST API。
-
一个 API 密钥或 Azure AD 令牌。
- API 密钥在您创建搜索服务时生成。如果您只是查询索引,可以使用查询 API 密钥;否则,请使用管理员 API 密钥。有关详细信息,请参阅查找您的 API 密钥。
- Azure AD 令牌可与 Azure 托管标识一起使用。有关详细信息,请参阅使用标识将您的应用连接到 Azure AI Search。
AzureAISearchRetriever)。搜索索引提供可搜索的内容。 使用 API 密钥安装
此检索器位于langchain-community 包中。我们还需要一些额外的依赖项
实例化
对于AzureAISearchRetriever,提供 index_name、content_key 和 top_k,并将其设置为您希望检索的结果数量。将 top_k 设置为零(默认值)将返回所有结果。
用法
现在您可以使用它从 Azure AI Search 中检索文档。这是您将调用的方法。它将返回与查询相关的所有文档。示例
本节演示了在内置示例数据上使用检索器。如果您已在搜索服务上拥有向量索引,则可以跳过此步骤。 首先提供端点和密钥。由于我们在此步骤中创建向量索引,因此请指定一个文本嵌入模型以获取文本的向量表示。此示例假设 Azure OpenAI 使用 text-embedding-ada-002 的部署。因为此步骤创建了一个索引,请务必为您的搜索服务使用管理员 API 密钥。langchain-vector-demo。这将创建一个与该索引名称关联的新向量存储。
state_of_the_union.txt 文件。我们将文本分成 400 个令牌的块,没有重叠。最后,文档作为嵌入添加到我们的向量存储中。
index_name 变量是上一步的 langchain-vector-demo。如果您跳过了向量存储创建,请在参数中提供您的索引名称。在此查询中,返回了最相关的结果。
在链中使用
API 参考
有关所有AzureAISearchRetriever 功能和配置的详细文档,请参阅API 参考。
以编程方式连接这些文档到 Claude、VSCode 等,通过 MCP 获取实时答案。