Azure OpenAI 推理服务
编辑Azure OpenAI 推理服务
编辑创建推理端点以使用 azureopenai
服务执行推理任务。
请求
编辑PUT /_inference/<task_type>/<inference_id>
路径参数
编辑-
<inference_id>
- (必填,字符串) 推理端点的唯一标识符。
-
<task_type>
-
(必填,字符串) 模型将执行的推理任务类型。
可用任务类型
-
completion
, -
text_embedding
.
-
请求体
编辑-
chunking_settings
-
(可选,对象) 分块配置对象。请参阅 配置分块 以了解有关分块的更多信息。
-
max_chunking_size
- (可选,整数) 指定分块的最大大小(以字为单位)。默认为
250
。此值不能高于300
或低于20
(对于sentence
策略)或10
(对于word
策略)。 -
overlap
- (可选,整数) 仅适用于
word
分块策略。指定分块的重叠字数。默认为100
。此值不能高于max_chunking_size
的一半。 -
sentence_overlap
- (可选,整数) 仅适用于
sentence
分块策略。指定分块的重叠句子数。可以是1
或0
。默认为1
。 -
strategy
- (可选,字符串) 指定分块策略。可以是
sentence
或word
。
-
-
service
- (必填,字符串) 指定任务类型支持的服务类型。在本例中为
azureopenai
。 -
service_settings
-
(必填,对象) 用于安装推理模型的设置。
这些设置特定于
azureopenai
服务。-
api_key
或entra_id
-
(必填,字符串) 您必须提供 API 密钥或 Entra ID 之一。如果您两者都没有提供或都提供了,则在尝试创建模型时会收到错误。有关这些身份验证类型的更多详细信息,请参阅 Azure OpenAI 身份验证文档。
您只需要在推理模型创建期间提供一次 API 密钥。 获取推理 API 不会检索您的 API 密钥。创建推理模型后,您无法更改关联的 API 密钥。如果您想使用其他 API 密钥,请删除推理模型并使用相同名称和更新的 API 密钥重新创建它。
-
resource_name
- (必填,字符串) 您 Azure OpenAI 资源的名称。您可以在 Azure 门户中您订阅的 资源列表 中找到它。
-
deployment_id
- (必填,字符串) 已部署模型的部署名称。您可以通过链接到您订阅的 Azure OpenAI Studio 门户找到您的 Azure OpenAI 部署。
-
api_version
- (必填,字符串) 要使用的 Azure API 版本 ID。我们建议使用 最新支持的非预览版本。
-
rate_limit
-
(可选,对象)
azureopenai
服务根据任务类型设置允许的每分钟请求默认数量。对于text_embedding
,它设置为1440
。对于completion
,它设置为120
。这有助于最大程度地减少 Azure 返回的速率限制错误数量。要修改此设置,请在您的服务设置中设置此对象的requests_per_minute
设置。"rate_limit": { "requests_per_minute": <<number_of_requests>> }
-
-
task_settings
-
(可选,对象) 配置推理任务的设置。这些设置特定于您指定的
<task_type>
。task_settings
适用于completion
任务类型-
user
- (可选,字符串) 指定发出请求的用户,可用于滥用检测。
task_settings
适用于text_embedding
任务类型-
user
- (可选,字符串) 指定发出请求的用户,可用于滥用检测。
-
Azure OpenAI 服务示例
编辑以下示例显示了如何创建名为 azure_openai_embeddings
的推理端点以执行 text_embedding
任务类型。请注意,我们在此处未指定模型,因为它已通过我们的 Azure OpenAI 部署定义。
您可以在部署中选择的嵌入模型列表可以在 Azure 模型文档 中找到。
resp = client.inference.put( task_type="text_embedding", inference_id="azure_openai_embeddings", inference_config={ "service": "azureopenai", "service_settings": { "api_key": "<api_key>", "resource_name": "<resource_name>", "deployment_id": "<deployment_id>", "api_version": "2024-02-01" } }, ) print(resp)
const response = await client.inference.put({ task_type: "text_embedding", inference_id: "azure_openai_embeddings", inference_config: { service: "azureopenai", service_settings: { api_key: "<api_key>", resource_name: "<resource_name>", deployment_id: "<deployment_id>", api_version: "2024-02-01", }, }, }); console.log(response);
PUT _inference/text_embedding/azure_openai_embeddings { "service": "azureopenai", "service_settings": { "api_key": "<api_key>", "resource_name": "<resource_name>", "deployment_id": "<deployment_id>", "api_version": "2024-02-01" } }
下一个示例显示了如何创建名为 azure_openai_completion
的推理端点以执行 completion
任务类型。
resp = client.inference.put( task_type="completion", inference_id="azure_openai_completion", inference_config={ "service": "azureopenai", "service_settings": { "api_key": "<api_key>", "resource_name": "<resource_name>", "deployment_id": "<deployment_id>", "api_version": "2024-02-01" } }, ) print(resp)
const response = await client.inference.put({ task_type: "completion", inference_id: "azure_openai_completion", inference_config: { service: "azureopenai", service_settings: { api_key: "<api_key>", resource_name: "<resource_name>", deployment_id: "<deployment_id>", api_version: "2024-02-01", }, }, }); console.log(response);
PUT _inference/completion/azure_openai_completion { "service": "azureopenai", "service_settings": { "api_key": "<api_key>", "resource_name": "<resource_name>", "deployment_id": "<deployment_id>", "api_version": "2024-02-01" } }
您可以在 Azure OpenAI 部署中选择的聊天完成模型列表可以在以下位置找到