Azure OpenAI 矢量器
“Azure OpenAI”矢量器在查询时连接到 Azure OpenAI 资源上已部署的嵌入模型,以生成嵌入项。 数据在部署模型的地理位置进行处理。
矢量器在查询时使用,但在索引定义中指定,并通过矢量配置文件在矢量字段中引用。 Azure OpenAI 矢量器在 API 中称为 AzureOpenAIVectorizer
。
使用 2024-07-01 REST API 或已更新的 Azure SDK 包来提供该功能。
在搜索索引中配置矢量器提供了用法说明。
注意
此矢量器绑定到 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",
},
}
]