Azure OpenAI 矢量器
“Azure OpenAI”矢量器在查询时连接到 Azure OpenAI 资源上已部署的嵌入模型,以生成嵌入项。 数据在部署模型的地理位置进行处理。
矢量器在查询时使用,但在索引定义中指定,并通过矢量配置文件在矢量字段中引用。 Azure OpenAI 矢量器在 API 中称为 AzureOpenAIVectorizer
。
使用 2024-07-01 REST API 或已更新的 Azure SDK 包来提供该功能。
在搜索索引中配置矢量器提供了用法说明。
注意
此矢量器绑定到 Azure OpenAI,并按现有 Azure OpenAI 标准预付费套餐价格收费。
先决条件
Azure OpenAI 服务必须有关联的自定义子域。 如果服务是通过 Azure 门户创建的,则会在服务设置过程中自动生成此子域。 确保在将服务与 Azure AI 搜索集成之前包含自定义子域。
不支持在 AI Studio 中创建的 Azure OpenAI 服务资源(具有嵌入模型访问权限)。 只有 Azure 门户中创建的 Azure OpenAI 服务资源与 Azure OpenAI 嵌入技能集成兼容。
矢量器参数
参数区分大小写。
参数名称 | 说明 |
---|---|
resourceUri |
在本例中,模型提供程序的 URI 是 Azure OpenAI 资源。 此参数仅支持带有域名 openai.azure.com 的 URL,例如 https://<resourcename>.openai.azure.com 。 如果 Azure OpenAI 终结点具有带域名 cognitiveservices.azure.com 的 URL(如 https://<resourcename>.cognitiveservices.azure.com ),则必须先为 Azure OpenAI 资源创建一个带 openai.azure.com 的自定义子域,然后改用 https://<resourcename>.openai.azure.com 。 |
apiKey |
用于访问模型的密钥。 如果你提供密钥,请将 authIdentity 留空。 如果同时设置 apiKey 和 authIdentity ,则会在连接上使用 apiKey =。 |
deploymentId |
已部署的 Azure OpenAI 嵌入模型的名称。 模型应该是嵌入模型,例如 text-embedding-ada-002。 有关支持的模型,请参阅 Azure OpenAI 模型列表。 |
authIdentity |
搜索服务用于连接到 Azure OpenAI 的用户托管标识。 可以使用系统托管标识或用户托管标识。 若要使用系统托管标识,请将 apiKey 和 authIdentity 留空。 会自动使用系统托管标识。 托管标识必须具有认知服务 OpenAI 用户权限才能将文本发送到 Azure OpenAI。 |
modelName |
(在 API 版本 2024-05-01-Preview 及更高版本中是必需的)。 部署在提供的 resourceUri 和 deploymentId 中的 Azure OpenAI 嵌入模型的名称。 目前支持的值为 text-embedding-ada-002 、text-embedding-3-large 和 text-embedding-3-small |
支持的矢量查询类型
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",
},
}
]