Azure Cognitive Search
Azure认知搜索(以前称为
Azure搜索
)是一种云搜索服务,为开发人员提供基础设施、API和工具,用于在Web、移动和企业应用程序中构建丰富的搜索体验,以搜索私有、异构内容。
搜索是任何向用户展示文本的应用程序的基础,常见的场景包括目录或文档搜索、在线零售应用程序或对专有内容进行数据探索。创建搜索服务时,您将使用以下功能:
- 用于对包含用户拥有内容的搜索索引进行全文搜索的搜索引擎
- 丰富的索引,包括词法分析和可选的AI增强,用于内容提取和转换
- 用于文本搜索、模糊搜索、自动完成、地理搜索等的丰富查询语法
- 通过Azure SDK中的REST API和客户端库进行编程
- 在数据层、机器学习层和AI(认知服务)层进行Azure集成
本笔记本展示了如何在LangChain中使用Azure认知搜索(ACS)。
设置Azure认知搜索
要设置ACS,请按照此处的说明进行操作。
请注意:
- 您的ACS服务的名称,
- 您的ACS索引的名称,
- 您的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
,返回所有结果。