Azure AI Studio 推理服务

编辑

创建一个推理端点,以使用 azureaistudio 服务执行推理任务。

请求

编辑

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 分块策略。指定块的重叠句子数。它可以是 10。默认为 1
strategy
(可选,字符串) 指定分块策略。它可以是 sentenceword
service
(必需,字符串) 指定任务类型支持的服务类型。在本例中为 azureaistudio
service_settings

(必需,对象) 用于安装推理模型的设置。

这些设置特定于 azureaistudio 服务。

api_key

(必需,字符串) Azure AI Studio 模型部署的有效 API 密钥。此密钥可以在您的 Azure AI Studio 帐户的管理部分中,在部署的概述页面上找到。

您只需要在创建推理模型时提供一次 API 密钥。获取推理 API 不会检索您的 API 密钥。创建推理模型后,您无法更改关联的 API 密钥。如果您想使用不同的 API 密钥,请删除推理模型并使用相同的名称和更新的 API 密钥重新创建它。

target
(必需,字符串) Azure AI Studio 模型部署的目标 URL。这可以在您的 Azure AI Studio 帐户的管理部分中,在部署的概述页面上找到。
provider

(必需,字符串) 部署的模型提供商。请注意,某些提供商可能仅支持某些任务类型。支持的提供商包括

  • cohere - 可用于 text_embeddingcompletion 任务类型
  • databricks - 仅可用于 completion 任务类型
  • meta - 仅可用于 completion 任务类型
  • microsoft_phi - 仅可用于 completion 任务类型
  • mistral - 仅可用于 completion 任务类型
  • openai - 可用于 text_embeddingcompletion 任务类型
endpoint_type
(必需,字符串) tokenrealtime 之一。指定在模型部署中使用的端点类型。通过 Azure AI Studio 部署,有 两种可用的端点类型。“即用即付”端点按 token 收费。对于这些端点,您必须为 endpoint_type 指定 token。对于按小时使用收费的“实时”端点,请指定 realtime
rate_limit

(可选,对象) 默认情况下,azureaistudio 服务将每分钟允许的请求数设置为 240。这有助于最大限度地减少从 Azure AI Studio 返回的速率限制错误。要修改此值,请在您的服务设置中设置此对象的 requests_per_minute 设置。

"rate_limit": {
    "requests_per_minute": <<number_of_requests>>
}
task_settings

(可选,对象) 配置推理任务的设置。这些设置特定于您指定的 <task_type>

completion 任务类型的 task_settings
do_sample
(可选,浮点数) 指示推理过程是否执行采样。除非指定了 temperaturetop_p,否则无效。
max_new_tokens
(可选,整数) 提供要生成的最大输出 token 数的提示。默认为 64。
temperature
(可选,浮点数) 一个介于 0.0 到 2.0 之间的数字,指定要使用的采样温度,该温度控制生成的补全的明显创造力。如果指定了 top_p,则不应使用此值。
top_p
(可选,浮点数) 一个介于 0.0 到 2.0 之间的数字,是 temperature 的替代值,导致模型考虑具有核采样概率的 token 的结果。如果指定了 temperature,则不应使用此值。
text_embedding 任务类型的 task_settings
user
(可选,字符串) 指定发出请求的用户,可用于滥用检测。

Azure AI Studio 服务示例

编辑

以下示例演示如何创建一个名为 azure_ai_studio_embeddings 的推理端点来执行 text_embedding 任务类型。请注意,此处我们没有指定模型,因为它已经通过我们的 Azure AI Studio 部署定义了。

您可以在 Azure AI Studio 模型资源管理器中找到您在部署中可以选择的嵌入模型列表。

resp = client.inference.put(
    task_type="text_embedding",
    inference_id="azure_ai_studio_embeddings",
    inference_config={
        "service": "azureaistudio",
        "service_settings": {
            "api_key": "<api_key>",
            "target": "<target_uri>",
            "provider": "<model_provider>",
            "endpoint_type": "<endpoint_type>"
        }
    },
)
print(resp)
const response = await client.inference.put({
  task_type: "text_embedding",
  inference_id: "azure_ai_studio_embeddings",
  inference_config: {
    service: "azureaistudio",
    service_settings: {
      api_key: "<api_key>",
      target: "<target_uri>",
      provider: "<model_provider>",
      endpoint_type: "<endpoint_type>",
    },
  },
});
console.log(response);
PUT _inference/text_embedding/azure_ai_studio_embeddings
{
    "service": "azureaistudio",
    "service_settings": {
        "api_key": "<api_key>",
        "target": "<target_uri>",
        "provider": "<model_provider>",
        "endpoint_type": "<endpoint_type>"
    }
}

下一个示例演示如何创建一个名为 azure_ai_studio_completion 的推理端点来执行 completion 任务类型。

resp = client.inference.put(
    task_type="completion",
    inference_id="azure_ai_studio_completion",
    inference_config={
        "service": "azureaistudio",
        "service_settings": {
            "api_key": "<api_key>",
            "target": "<target_uri>",
            "provider": "<model_provider>",
            "endpoint_type": "<endpoint_type>"
        }
    },
)
print(resp)
const response = await client.inference.put({
  task_type: "completion",
  inference_id: "azure_ai_studio_completion",
  inference_config: {
    service: "azureaistudio",
    service_settings: {
      api_key: "<api_key>",
      target: "<target_uri>",
      provider: "<model_provider>",
      endpoint_type: "<endpoint_type>",
    },
  },
});
console.log(response);
PUT _inference/completion/azure_ai_studio_completion
{
    "service": "azureaistudio",
    "service_settings": {
        "api_key": "<api_key>",
        "target": "<target_uri>",
        "provider": "<model_provider>",
        "endpoint_type": "<endpoint_type>"
    }
}

您可以在 Azure AI Studio 模型资源管理器中找到您在部署中可以选择的聊天补全模型列表。