Skip to main content

Azure Cognitive Search

Azure Cognitive Search (以前称为 Azure Search) 是一个云搜索服务,为开发人员提供了在 web、移动和企业应用程序中构建丰富搜索体验所需的基础设施、API 和工具。搜索是向用户展示文本的任何应用程序的基础,常见的场景包括目录或文档搜索、在线零售应用程序或专有内容的数据探索。创建搜索服务时,您将使用以下功能:

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

这个笔记本展示了如何在 LangChain 中使用 Azure Cognitive Search (ACS)。

要设置 ACS,请按照此处的说明进行操作(https://learn.microsoft.com/en-us/azure/search/search-create-service-portal)。

请注意

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

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

使用 Azure Cognitive Search 检索器

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")

现在您可以从 Azure Cognitive Search 中检索文档

retriever.get_relevant_documents("what is langchain")