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 帐户管理部分的部署概览页面中找到。 Azure AI Studio

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

target
(必填,字符串) Azure AI Studio 模型部署的目标 URL。这可以在 Azure AI Studio 帐户管理部分的部署概览页面中找到。 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 部署有 两种端点类型可用。"按使用付费" 端点按令牌计费。对于这些端点,您必须为 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>

task_settings 用于 completion 任务类型
do_sample
(可选,浮点数) 指示推理过程是否执行采样。除非指定了 temperaturetop_p,否则无效。
max_new_tokens
(可选,整数) 提供要生成的输出令牌的最大数量的提示。默认为 64。
temperature
(可选,浮点数) 0.0 到 2.0 范围内的数字,指定要使用的采样温度,该温度控制生成的补全的明显创造力。如果指定了 top_p,则不应使用。
top_p
(可选,浮点数) 0.0 到 2.0 范围内的数字,它是温度的替代值,导致模型考虑具有核采样概率的令牌的结果。如果指定了 temperature,则不应使用。
task_settings 用于 text_embedding 任务类型
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 模型浏览器 中找到。