你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

Azure AI Model Inference REST API reference

Azure AI 模型推断是一个 API,展示了基础模型的通用能力,开发者可以以统一一致的方式调用来自多样模型的预测数据。 开发者可以与部署在 Azure AI Foundry 门户中的不同模型进行对话,而无需更改他们所使用的底层代码。

Benefits

基础模型,如语言模型,近年来确实取得了显著进展。 这些进步彻底改变了多个领域,包括自然语言处理和计算机视觉,并使聊天机器人、虚拟助手和语言翻译服务等应用成为可能。

虽然基础模型在特定领域表现出色,但缺乏统一的能力。 有些模型在特定任务上表现更好,即使在同一任务中,有些模型可能以一种方式解决问题,而另一些则不同。 开发者可以通过 使用合适的模型来完成合适的工作 ,从而从这种多样性中获益,从而实现:

  • 提升特定下游任务的性能。
  • 用更高效的模型来完成更简单的任务。
  • 使用更小的模型,在特定任务上运行更快。
  • 构建多个模型以开发智能体验。

拥有统一的基础模型使用方式,使开发者能够在不牺牲可移植性或修改底层代码的情况下实现所有这些好处。

Inference SDK 支持

Azure AI 推理包允许你调用所有支持 Azure AI 模型推理 API 的模型,并轻松切换模型。 Azure AI 推理包是 Azure AI Foundry SDK 的一部分。

语言 文档 Package 示例
C# 引用 azure-ai-inference (NuGet) C# 示例
Java 引用 azure-ai-inference (Maven) Java示例
JavaScript 引用 @azure/ai-inference (npm) JavaScript 示例
Python 引用 azure-ai-inference (PyPi) Python示例

能力

以下部分介绍了API所展示的一些功能:

方式

API说明了开发者如何获取以下模态的预测数据:

Extensibility

Azure AI 模型推断 API 规定了一组模型可以订阅的模态和参数。 然而,有些模型可能具备API所指示的更多功能。 在这些情况下,API 允许开发者将其作为额外参数传递到有效载荷中。

通过设置一个头 extra-parameters: pass-through部,API会尝试直接将任何未知参数传递给底层模型。 如果模型能够处理该参数,请求就完成了。

以下示例展示了一个请求通过 Mistral-Large 支持的参数,而 Azure AI 模型推理 API 中未规定该参数safe_prompt

请求

POST /chat/completions?api-version=2025-04-01
Authorization: Bearer <bearer-token>
Content-Type: application/json
extra-parameters: pass-through
{
    "messages": [
    {
        "role": "system",
        "content": "You are a helpful assistant"
    },
    {
        "role": "user",
        "content": "Explain Riemann's conjecture in 1 paragraph"
    }
    ],
    "temperature": 0,
    "top_p": 1,
    "response_format": { "type": "text" },
    "safe_prompt": true
}

注释

默认 extra-parameters 值为 , error 如果载荷中标明了额外参数,则返回错误。 或者,你也可以设置 extra-parameters: drop 在请求中丢弃任何未知参数。 如果你发送带有额外参数的请求,知道模型不支持,但你希望请求能完成,可以使用这个功能。 一个典型的例子是参数 seed 指示。

具备不同能力的模型

Azure AI 模型推理 API 显示了一套通用的能力,但每个模型都可以自行决定是否实现这些能力。 在模型无法支持特定参数的情况下,会返回特定错误。

以下示例展示了聊天完成请求的响应,标明参数 reponse_format 并请求以 JSON 格式形式回复。 在示例中,由于模型不支持此类功能,用户返回错误422。

请求

POST /chat/completions?api-version=2025-04-01
Authorization: Bearer <bearer-token>
Content-Type: application/json
{
    "messages": [
    {
        "role": "system",
        "content": "You are a helpful assistant"
    },
    {
        "role": "user",
        "content": "Explain Riemann's conjecture in 1 paragraph"
    }
    ],
    "temperature": 0,
    "top_p": 1,
    "response_format": { "type": "json_object" },
}

响应

{
    "status": 422,
    "code": "parameter_not_supported",
    "detail": {
        "loc": [ "body", "response_format" ],
        "input": "json_object"
    },
    "message": "One of the parameters contain invalid values."
}

Tip

你可以检查该属性 details.loc ,了解问题参数的位置,并 details.input 查看请求中传递的值。

内容安全

Azure AI 模型推理 API 支持 Azure AI 内容安全。 在启用 Azure AI 内容安全 的部署时,输入和输出会经过一系列分类模型,旨在检测和防止有害内容的输出。 内容过滤(预览)系统在输入提示和输出补全中检测并对特定类别的潜在有害内容采取行动。

以下示例展示了触发内容安全的聊天完成请求的响应。

请求

POST /chat/completions?api-version=2025-04-01
Authorization: Bearer <bearer-token>
Content-Type: application/json
{
    "messages": [
    {
        "role": "system",
        "content": "You are a helpful assistant"
    },
    {
        "role": "user",
        "content": "Chopping tomatoes and cutting them into cubes or wedges are great ways to practice your knife skills."
    }
    ],
    "temperature": 0,
    "top_p": 1,
}

响应

{
    "status": 400,
    "code": "content_filter",
    "message": "The response was filtered",
    "param": "messages",
    "type": null
}

入门

Azure AI 模型推理 API 可在 Azure AI Services 资源中获得。 你可以像使用其他 Azure 产品一样开始,创建并配置 Azure AI 模型推理资源,或者说服务实例,在你的 Azure 订阅中。 你可以根据需要创建任意数量的资源,并在有多个不同需求团队时独立配置它们。

一旦你创建了 Azure AI 服务资源,必须先部署模型,才能开始调用 API。 默认情况下,没有模型,你可以选择从哪个开始。 请参阅教程《在 Azure AI 模型推理中创建你的第一个模型部署》。