Skip to main content

Azure Cognitive Search

Azure认知搜索(以前称为Azure搜索)是一种云搜索服务,为开发人员提供基础设施、API和工具,用于在Web、移动和企业应用程序中构建丰富的搜索体验,以搜索私有、异构内容。

搜索是任何向用户展示文本的应用程序的基础,常见的场景包括目录或文档搜索、在线零售应用程序或对专有内容进行数据探索。创建搜索服务时,您将使用以下功能:

  • 用于对包含用户拥有内容的搜索索引进行全文搜索的搜索引擎
  • 丰富的索引,包括词法分析和可选的AI增强,用于内容提取和转换
  • 用于文本搜索、模糊搜索、自动完成、地理搜索等的丰富查询语法
  • 通过Azure SDK中的REST API和客户端库进行编程
  • 在数据层、机器学习层和AI(认知服务)层进行Azure集成

本笔记本展示了如何在LangChain中使用Azure认知搜索(ACS)。

设置Azure认知搜索

要设置ACS,请按照此处的说明进行操作。

请注意:

  1. 您的ACS服务的名称,
  2. 您的ACS索引的名称,
  3. 您的API密钥。

您的API密钥可以是管理员密钥或查询密钥,但由于我们只读取数据,建议使用查询密钥。

使用Azure认知搜索检索器

import os

from langchain.retrievers import AzureCognitiveSearchRetriever

将服务名称、索引名称和API密钥设置为环境变量(或者,您可以将它们作为参数传递给AzureCognitiveSearchRetriever)。

os.environ["AZURE_COGNITIVE_SEARCH_SERVICE_NAME"] = "<YOUR_ACS_SERVICE_NAME>"
os.environ["AZURE_COGNITIVE_SEARCH_INDEX_NAME"] = "<YOUR_ACS_INDEX_NAME>"
os.environ["AZURE_COGNITIVE_SEARCH_API_KEY"] = "<YOUR_API_KEY>"

创建检索器

retriever = AzureCognitiveSearchRetriever(content_key="content", top_k=10)

现在您可以使用Azure认知搜索检索文档

retriever.get_relevant_documents("what is langchain")

您可以使用top_k参数更改返回的结果数量。默认值为None,返回所有结果。