📘 **TELUS Agriculture & Consumer Goods** 如何通过 **Haystack Agents** 转变促销交易
由 deepset 维护

集成:Azure AI Search

将 Azure AI Search 与 Haystack 结合使用

作者
deepset

目录

概述

AzureAIDocumentStore 支持与 Azure AI Search 的集成,Azure AI Search 是一个企业级的搜索和检索系统,通过 Haystackdeepset 提供。

此集成允许将 Azure AI Search 中的搜索索引用作文档存储,以便在 Azure 上构建基于 RAG 的应用程序,并支持原生 LLM 集成。为了从文档存储中检索数据,该集成支持三种类型的检索技术:

  1. 嵌入检索:用于基于向量的搜索。
  2. BM25 检索:利用 BM25 算法进行关键词检索。
  3. 混合检索:结合向量和 BM25 检索方法。

安装

安装 Azure AI Search 集成

pip install "azure-ai-search-haystack"

使用

要使用 AzureAISearchDocumentStore,您需要拥有一个有效的 Azure 订阅,其中部署了 Azure AI Search 服务。您需要提供一个搜索服务终结点作为 AZURE_AI_SEARCH_ENDPOINT,并提供一个 API 密钥作为 AZURE_AI_SEARCH_API_KEY 进行身份验证。如果未提供 API 密钥,DefaultAzureCredential 将尝试通过浏览器进行身份验证。

from haystack_integrations.document_stores.azure_ai_search import AzureAISearchDocumentStore
from haystack import Document

document_store = AzureAISearchDocumentStore(
    metadata_fields={"version": float, "label": str},
    index_name="document-store-example",
)

documents = [
    Document(
        content="This is an introduction to using Python for data analysis.",
        meta={"version": 1.0, "label": "chapter_one"},
    ),
    Document(
        content="Learn how to use Python libraries for machine learning.",
        meta={"version": 1.5, "label": "chapter_two"},
    ),
    Document(
        content="Advanced Python techniques for data visualization.",
        meta={"version": 2.0, "label": "chapter_three"},
    ),
]
document_store.write_documents(documents)

filters = {
    "operator": "AND",
    "conditions": [
        {"field": "meta.version", "operator": ">", "value": 1.2},
        {"field": "meta.label", "operator": "in", "value": ["chapter_one", "chapter_three"]},
    ],
}

results = document_store.filter_documents(filters)
print(results)

您可以在初始化 AzureAISearchDocumentStore 时,将所有支持的参数作为 index_creation_kwargs 传递给 SearchIndex,以自定义索引创建。此外,AzureAISearchDocumentStore 支持语义排名,可以通过在初始化时在 index_creation_kwargs 中包含 SemanticSearch 配置并通过其中一个检索器来启用它。有关更多详细信息,请参阅有关此功能的 Azure AI 教程