Skip to main content
Azure AI 搜索(原名 Azure Search 和 Azure Cognitive Search)是一个分布式、RESTful 搜索引擎,针对 Azure 上生产级工作负载的速度和相关性进行了优化。它还支持使用 k-最近邻(kNN)算法的向量搜索以及语义搜索 此向量存储集成支持全文搜索、向量搜索和混合搜索以获得最佳排名性能 了解如何利用 Azure AI 搜索的向量搜索功能,请参阅此页面。如果您没有 Azure 账户,可以创建免费账户开始使用。

设置

首先需要安装 @azure/search-documents SDK 和 @langchain/community 包:
有关安装 LangChain 包的通用说明,请参阅此部分
npm
您还需要运行一个 Azure AI 搜索实例。您可以按照此指南在 Azure 门户上免费部署一个版本。 一旦您的实例运行起来,请确保您拥有端点和管理员密钥(查询密钥仅可用于搜索文档,不能用于索引、更新或删除)。端点是您实例的 URL,可以在 Azure 门户中实例的“概述”部分找到。管理员密钥可以在实例的“密钥”部分找到。然后您需要设置以下环境变量:
.env vars

关于混合搜索

混合搜索是一种结合全文搜索和向量搜索优势的功能,以提供最佳排名性能。它在 Azure AI 搜索向量存储中默认启用,但您可以在创建向量存储时通过设置 search.type 属性选择不同的搜索查询类型。 您可以在官方文档中阅读更多关于混合搜索以及它如何改善搜索结果的信息。 在某些场景中,如检索增强生成(RAG),您可能希望在混合搜索之外启用语义排名以提高搜索结果的相关性。您可以在创建向量存储时将 search.type 属性设置为 AzureAISearchQueryType.SemanticHybrid 来启用语义排名。 请注意,语义排名功能仅在基本及更高定价层中可用,并受区域可用性限制。 您可以在此博客文章中阅读更多关于使用语义排名与混合搜索的性能信息。

示例:索引文档、向量搜索和 LLM 集成

以下示例展示了如何在 Azure AI 搜索中索引文件中的文档,运行混合搜索查询,并最终使用链基于检索到的文档以自然语言回答问题。

相关链接