你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

将现有 AI 搜索索引与 Azure AI 搜索工具配合使用

可以将现有的 Azure AI 搜索索引与代理的 Azure AI 搜索工具配合使用。

Tip

无需离开 Azure AI Foundry 门户即可创建新的索引。 有关详细信息,请参阅 “将 Azure AI 搜索工具添加到代理 ”部分。

必须正确配置 Azure AI 搜索索引,并满足以下要求:

  • 索引必须至少包含一个可搜索且可检索的文本字段(类型为 Edm.String)
  • 索引必须至少包含一个可搜索矢量字段(类型为 Collection(Edm.Single))

搜索类型

可以通过选择以下任一项来指定索引的搜索类型

  • Simple
  • Semantic
  • Vector
  • 混合(矢量 + 关键字)
  • 混合(矢量 + 关键字 + 语义)

可以具有没有指定搜索类型的索引。 默认情况下,Azure AI 搜索工具在所有文本字段上运行混合搜索(关键字 + 矢量)。

使用支持

Azure AI Foundry 支持 Python SDK C# SDK JavaScript SDK Java SDK REST API 基本代理设置 标准代理设置
✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️

Setup

先决条件:具有现有的 Azure AI 搜索索引

使用 Azure AI 搜索工具的先决条件是拥有现有的 Azure AI 搜索索引。 如果没有现有索引,可以使用导入和矢量化数据向导在 Azure 门户中创建一个索引。

使用要使用的索引创建与 Azure AI 搜索资源的项目连接

完成代理设置后,必须创建与包含要使用的索引的 Azure AI 搜索资源的项目连接。

如果已连接包含要用于项目的索引的 AI 搜索资源,请跳过此步骤。

获取 Azure AI 搜索资源连接密钥和终结点

  1. 访问 Azure AI 搜索资源。

    • 在 Azure 门户中,导航到包含要使用的索引的 AI 搜索资源。
  2. 复制连接终结点。

    • 在“概述”选项卡中,复制资源的 URL。 URL 的格式应为 https://<your-resource-name>.search.windows.net/ Azure 门户中 AI 搜索资源“概述”选项卡的屏幕截图。
  3. 验证 API 访问控制是否设置为“两者”,并在“管理管理员密钥”下复制其中一个密钥。

    • 在左侧导航栏中,向下滚动到“设置”部分,然后选择“密钥”
    • 在“API 访问控制”部分下,确保选中包括 API 密钥和基于角色的访问控制的“两个选项”。
    • 如果希望连接使用 API 密钥进行身份验证,请复制管理管理密钥下的其中一个密钥。 Azure 门户中 AI 搜索资源“密钥”选项卡的屏幕截图。

创建 Azure AI 搜索项目连接

如果使用 Microsoft Entra ID 作为连接身份验证类型,则需要手动将项目托管标识分配给 Azure AI 搜索资源的“搜索索引数据参与者”和“搜索服务参与者”角色。 连接名称必须是 AI 搜索索引名称。

创建以下 connections.yml 文件

可以使用 API 密钥或无键 YAML 配置文件。 将nameendpointapi_key占位符替换为 Azure AI 搜索资源值。 有关 YAML 配置文件的详细信息,请参阅Azure AI 搜索连接 YAML 架构

下面是 API 密钥示例:

name: my_project_acs_connection_keys
type: azure_ai_search
endpoint: https://contoso.search.windows.net/
api_key: XXXXXXXXXXXXXXX

下面是无键示例:

name: my_project_acs_connection_credentialless
type: azure_ai_search
endpoint: https://contoso.search.windows.net/

然后运行以下命令:

my_resourcemy_project_name 替换为在代理设置中创建的资源组和项目名称。

az ml connection create --file {connection.yml} --resource-group {my_resource_group} --workspace-name {my_project_name}

创建与 Azure AI 搜索资源的项目连接后,可以配置并开始使用 SDK 的 Azure AI 搜索工具。 请参阅代码示例选项卡以开始使用。


将 Azure AI 搜索工具添加到代理

可以使用本文顶部列出的代码示例或 Azure AI Foundry 门户以编程方式将 Azure AI 搜索工具添加到代理。 如果要使用门户:

  1. 代理屏幕中,向下滚动设置窗格。 然后选择知识>+ 添加

    显示 Azure AI Foundry 门户中可用工具类别的屏幕截图。

  2. 选择“Azure AI 搜索”

    显示 Azure AI Foundry 门户中可用的知识工具的屏幕截图。

  3. “连接到索引”下,可以选择现有的 Azure AI 搜索连接或创建新的连接。 我们来选择 不属于此项目的索引

  4. 选择现有的 Azure AI 搜索连接。 可以在 Azure 门户中创建新帐户,然后返回到此向导。

  5. 选择连接后,可以选择或创建用于 Azure AI 搜索工具的索引。 选择“ 创建新索引”。

    Tip

    无需离开 Azure AI Foundry 门户即可创建新的索引。 如果选择“ 创建新索引”,系统会提示提供索引名称并选择搜索类型。

    屏幕截图,其中包含连接到项目中尚不存在的索引的选项。

  6. 输入索引名称,连接数据,选择嵌入模型,并同意条款。 然后选择“ 创建索引”。

    屏幕截图,其中包含在 Azure AI Foundry 门户中创建新索引的选项。

  7. 该索引已创建并连接到 Azure AI 搜索 服务。 现在可以在代理中将索引与 Azure AI 搜索工具配合使用。 还可以使用代理外部的索引,例如 Azure AI 搜索 REST API 或 SDK。

局限性

目前,如果要在虚拟网络后面的 Azure AI Foundry 门户中使用 Azure AI 搜索工具,则必须使用 SDK 或 REST API 创建代理。 以基于代码的方式创建代理后,可以在门户中使用它。

Azure AI 搜索工具只能包含一个搜索索引。 若要利用多个索引,请考虑将 连接的代理 与配置了每个代理的 Azure AI 搜索索引配合使用。

后续步骤