你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
注意
Azure AI 搜索可通过Azure门户、REST API 和Azure SDK获取。 它也是 Foundry IQ 的基础;Foundry IQ 是一个托管式知识层,可将企业内容转化为供 Microsoft Foundry 门户中的智能体使用的、可复用且具备权限感知能力的知识库。
Azure OpenAI 矢量器在查询时连接到 Foundry 模型中的 Azure OpenAI 资源或 Microsoft Foundry 项目上已部署的嵌入模型,以生成嵌入项。 你的数据会在模型部署的 地理环境中 处理。
尽管矢量器在查询时使用,但可以在索引定义中指定它们,并通过矢量配置文件在矢量字段上引用它们。 有关详细信息,请参阅 在搜索索引中配置向量器。
Azure OpenAI 向量器在 REST API 中称为 AzureOpenAIVectorizer。 使用最新的稳定版 Indexes - 创建 (REST API) 或提供该功能的Azure SDK包。
注意
此向量器绑定到 Azure OpenAI,并按 Azure OpenAI 标准版价格收费。
先决条件
Foundry 模型中的 Azure OpenAI 资源或 Foundry 项目。
你的Azure OpenAI资源必须有自定义子域名,比如
https://<resource-name>.openai.azure.com。 你可以在Azure门户的Keys and Endpoint页面找到这个端点,并用它来实现该技能中的resourceUri属性。你的 Foundry 项目的 父资源 提供访问多个端点,包括
https://<resource-name>.openai.azure.com、https://<resource-name>.services.ai.azure.com和https://<resource-name>.cognitiveservices.azure.com。 你可以在Azure门户的Keys和Endpoint页面找到这些端点,并用它们作为该技能中的resourceUri属性。
部署到您的资源或项目中的 Azure OpenAI 嵌入模型。 有关支持的模型,请参阅下一部分。
向量化器参数
参数区分大小写。
| 参数名称 | 描述 |
|---|---|
resourceUri |
(必需)模型提供者的URI。 支持的域名有:
Azure API 管理 终结点也受支持,但 API Management 自定义域除外。 有关设置(包括身份验证、RBAC 和可选的专用连接),请参阅 将 Azure API 管理 与 Azure OpenAI 技能和向量化工具配合使用。 |
apiKey |
用于访问模型的密钥。 如果你提供密钥,请保持authIdentity为空。 如果同时设置apiKey和authIdentity,那么在连接上会使用apiKey。 |
deploymentId |
(必修)已部署的 Azure OpenAI 嵌入模型的 ID。 这是你部署模型时指定的部署名称。 |
authIdentity |
搜索服务用于连接的用户托管标识。 你可以使用 系统身份或用户管理身份。 使用系统管理身份时,请留空 apiKey 和 authIdentity。 会自动使用系统托管标识。 管理身份必须拥有Cognitive Services OpenAI 用户权限,才能向Azure OpenAI发送文本。 |
modelName |
(必填)部署在指定deploymentId的Azure OpenAI模型名称。 支持的值有:
|
支持的向量查询类型
Azure OpenAI 向量器仅支持 text 矢量查询。
预期的字段维度
使用 Azure OpenAI 向量器配置的字段的预期字段维度取决于配置的 modelName。
modelName |
最小尺寸 | 最大尺寸 |
|---|---|---|
| text-embedding-ada-002 | 1536 | 1536 |
| text-embedding-3-large | 1 | 3072 |
| text-embedding-3-small | 1 | 1536 |
示例定义
"vectorizers": [
{
"name": "my-openai-vectorizer",
"kind": "azureOpenAI",
"azureOpenAIParameters": {
"resourceUri": "https://my-fake-azure-openai-resource.openai.azure.com",
"apiKey": "0000000000000000000000000000000000000",
"deploymentId": "my-ada-002-deployment",
"authIdentity": null,
"modelName": "text-embedding-ada-002",
},
}
]
性能最佳做法
以下是使用此向量器时需要考虑的一些最佳做法:
如果您达到了 Azure OpenAI 的每分钟令牌数 (TPM) 限制,请考虑参考配额限制建议以采取相应措施。 请参阅 Azure OpenAI monitoring 文档,以了解您的 Azure OpenAI 实例的性能。
用于此矢量化器的 Azure OpenAI 嵌入模型部署最好与其他用例(包括嵌入技能)所用的部署分开。 这有助于每次部署针对其具体用例进行定制,从而优化性能,并轻松识别来自索引器和索引嵌入调用的流量。
你的 Azure OpenAI 实例应该位于同一个区域,或者至少地理上接近你 AI 搜索服务托管的区域。 这降低了延迟,提高了服务间的数据传输速度。
为了避免频繁出现 429 错误代码,请考虑通过在多个 Azure OpenAI 嵌入模型部署前实现负载均衡网关,通过 API 管理实现负载均衡。
如果 Azure OpenAI TPM(每分钟令牌数)大于配额和限制文档中发布的默认值,请向 Azure AI 搜索团队提交支持案例,以便可以相应地进行调整。 这有助于索引过程不会因记录的默认 TPM 限制而不必要地减慢(如果你有更高的限制)。
托管标识身份验证的安全注意事项
当 Azure OpenAI 向量器使用托管标识身份验证时,Azure AI 搜索获取 Foundry Tools 受众(https://cognitiveservices.azure.com)的Microsoft Entra访问令牌,并将其包含在发送到终结点resourceUri的请求中。 托管标识身份验证适用于设置authIdentity时或同时为apiKeyauthIdentity空且服务使用系统分配的标识。
引用的resourceUri终结点应是自己的Azure OpenAI 或 Foundry Tools 资源。 支持的域名有:
openai.azure.comcognitiveservices.azure.comservices.ai.azure.com
还支持Azure API 管理(APIM)终结点(*.azure-api.net)。 由于 APIM 主机名不能单独从其名称进行验证,因此Azure AI 搜索在配置时通过实时连接检查来验证这些终结点,而不是通过域匹配进行验证。 你负责配置和维护 APIM 终结点与其后面的 Azure OpenAI 或 Foundry Tools 资源之间的关系。
注意
为 Foundry 工具访问群体颁发的托管标识令牌对任何 Foundry 工具或Azure OpenAI 资源有效,该标识已授权。 将其发送到不受信任的终结点可能会公开令牌。
建议的安全做法
若要帮助维护安全部署,请遵循以下做法:
- 仅设置为
resourceUri你拥有和信任的终结点。 首选前面列出的 Foundry Tools 域。 如果使用 APIM 终结点,请在启用托管标识之前确认它位于自己的资源前面。 受信任的主机名不是所有权证明。 - 将最低特权原则应用于搜索服务使用的托管标识。 Azure OpenAI 向量器只需要目标资源上的认知服务 OpenAI 用户角色。 避免授予更广泛的角色。
- 使用 网络安全外围(NSP) 和专用终结点或 VNet 集成来限制搜索服务可以访问的终结点,以及目标资源接受来自哪些源的请求。
- 如果使用 APIM 终结点,请确保网关验证入站请求,并仅将它们转发到预期的后端。 还应定期查看其访问策略。
- 首选托管标识而不是
apiKey。 如果使用apiKey,请安全地存储和旋转它,并且不要将其嵌入源代码管理中。 服务拒绝同时设置apiKey和authIdentity设置的配置。 - 定期查看索引定义、托管标识角色分配和 APIM 配置,以确认
resourceUri值、访问控制和标识权限保持最新且合适。 通过建立的变更管理和安全评审流程查看配置更改。 - 监视 Azure OpenAI 和 Foundry Tools 登录日志、身份验证事件和访问日志,以获取意外或未经授权的活动。
- 删除不再需要的未使用的向量程序、终结点、角色分配和 API 密钥。
限制对索引和向量器配置的访问
可以创建或修改索引定义的用户控制目标终结点(resourceUri)和向量器使用的身份验证配置。 由于向量程序向该终结点发送 Foundry 工具受众的托管标识令牌,因此请在配置已启用托管标识的向量器时将这些权限限制为受信任的管理员,并遵循标准变更管理和安全评审过程。