Compartir a través de

Azure OpenAI 矢量器

“Azure OpenAI”矢量器在查询时连接到 Azure OpenAI 资源上已部署的嵌入模型,以生成嵌入项。 数据在部署模型的地理位置进行处理。

矢量器在查询时使用,但在索引定义中指定,并通过矢量配置文件在矢量字段中引用。 Azure OpenAI 矢量器在 API 中称为 AzureOpenAIVectorizer

注意

此矢量器绑定到 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 留空。 如果同时设置 apiKeyauthIdentity,则会在连接上使用 apiKey =。
deploymentId 已部署的 Azure OpenAI 嵌入模型的名称。 模型应该是嵌入模型,例如 text-embedding-ada-002。 有关支持的模型,请参阅 Azure OpenAI 模型列表
authIdentity 搜索服务用于连接到 Azure OpenAI 的用户托管标识。 可以使用系统托管标识或用户托管标识。 若要使用系统托管标识,请将 apiKeyauthIdentity 留空。 会自动使用系统托管标识。 托管标识必须具有认知服务 OpenAI 用户权限才能将文本发送到 Azure OpenAI。
modelName (在 API 版本 2024-05-01-Preview 及更高版本中是必需的)。 部署在提供的 resourceUrideploymentId 中的 Azure OpenAI 嵌入模型的名称。 目前支持的值为 text-embedding-ada-002text-embedding-3-largetext-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",
        },
    }
]

另请参阅