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

Azure AI Foundry 模型的终结点

Azure AI Foundry 模型允许你通过单一的终结点和一组凭证访问领先模型提供商提供的最强大的模型。 此功能使你可以在模型之间进行切换,并在应用程序中使用它们,而无需更改任何代码。

本文介绍了 Azure AI Foundry 服务(以前称为 Azure AI 服务)如何组织模型,以及如何使用推理终结点访问模型。

部署

Azure AI Foundry 通过部署机制来提供模型服务 部署为模型指定名称和设置特定配置。 可以在请求中使用模型部署名称来访问模型。

部署包括:

  • 模型名称
  • 模型版本
  • 预配/容量类型1
  • 内容筛选配置1
  • 速率限制配置1

1 这些配置可能会根据所选模型而更改。

Azure AI Foundry 资源可以部署许多模型。 只需为对模型部署执行的推理付费。 部署是 Azure 资源,因此会受 Azure 策略的约束。

有关创建部署的详细信息,请参阅添加和配置模型部署

端点

Azure AI Foundry 服务根据你要执行的工作类型提供多个访问端点:

Azure AI 推理终结点

借助 Azure AI 推理终结点(通常采用 https://<resource-name>.services.ai.azure.com/models 形式),你可以使用具有相同身份验证和架构的单一终结点为资源中部署的模型生成推理。 所有 Foundry 模型都支持此功能。 此端点遵循的是 Azure AI 模型推理 API,该 API 支持以下模式:

  • 文本嵌入
  • 图像嵌入
  • 聊天补全

路线规划

推理终结点通过将请求内的参数 name 与部署名称进行匹配,将请求路由到给定部署。 此设置意味着部署在某些配置下充当给定模型的别名。 这种灵活性使你能够在服务中多次部署同一个模型,同时如果需要的话,还能根据不同的配置进行部署。

下图展示了如何通过在请求负载的 model 参数中指定模型名称来实现路由。

例如,如果创建名为 Mistral-large 的部署,可以调用该部署,如下所示:

使用包管理器(例如 pip)安装包 azure-ai-inference

pip install azure-ai-inference

然后,可以使用该包来调用模型。 以下示例演示如何创建客户端程序来调用聊天结果:

import os
from azure.ai.inference import ChatCompletionsClient
from azure.core.credentials import AzureKeyCredential

client = ChatCompletionsClient(
    endpoint="https://<resource>.services.ai.azure.com/models",
    credential=AzureKeyCredential(os.environ["AZURE_INFERENCE_CREDENTIAL"]),
)

浏览我们的示例,并阅读 API 参考文档以开始使用。

对于聊天模型,可按如下所示创建请求:

from azure.ai.inference.models import SystemMessage, UserMessage

response = client.complete(
    messages=[
        SystemMessage(content="You are a helpful assistant."),
        UserMessage(content="Explain Riemann's conjecture in 1 paragraph"),
    ],
    model="mistral-large"
)

print(response.choices[0].message.content)

如果指定的模型名称与模型部署均不匹配,则会显示模型不存在的错误。 可以通过创建模型部署来控制哪些模型可供用户使用。 有关详细信息,请参阅添加和配置模型部署

Azure OpenAI 推理终结点

Azure OpenAI API 公开 OpenAI 模型的完整功能,并支持更多功能,例如助手、线程、文件和批处理推理。 还可以通过此路由访问非 OpenAI 模型。

Azure OpenAI 终结点(通常采用 https://<resource-name>.openai.azure.com 形式)在部署级别运行,每个部署都有其自己的关联 URL。 但是,可以使用相同的身份验证机制来使用部署。 有关详细信息,请参阅 Azure OpenAI API 的参考页。

一个图示,显示了 Azure OpenAI 部署如何为每个部署包含一个 URL。

每个部署都有一个 URL,该 URL 由 Azure OpenAI 的基 URL 和路径 /deployments/<model-deployment-name> 拼接而成

使用包管理器(例如 pip)安装包 openai

pip install openai --upgrade

然后,可以使用该包来调用模型。 以下示例演示如何创建客户端程序来调用聊天结果:

import os
from openai import AzureOpenAI
    
client = AzureOpenAI(
    azure_endpoint = "https://<resource>.services.ai.azure.com"
    api_key=os.getenv("AZURE_INFERENCE_CREDENTIAL"),  
    api_version="2024-10-21",
)
response = client.chat.completions.create(
    model="deepseek-v3-0324", # Replace with your model dpeloyment name.
    messages=[
        {"role": "system", "content": "You are a helpful assistant."},
        {"role": "user", "content": "Explain Riemann's conjecture in 1 paragraph"}
    ]
)

print(response.model_dump_json(indent=2)

有关如何使用 Azure OpenAI 终结点的详细信息,请参阅 Azure AI Foundry 模型文档中的 Azure OpenAI

无密钥身份验证

部署到 Azure AI 服务中的 Azure AI Foundry 模型支持使用 Microsoft Entra ID 进行无密钥授权。 无密钥授权可增强安全性、简化用户体验、降低作复杂性,并为新式开发提供可靠的合规性支持。 对于采用安全且可缩放的标识管理解决方案的组织来说,无密钥授权是一个不错的选择。

若要使用无密钥身份验证,请配置资源并向用户授予访问权限以执行推理。 配置资源并授予访问权限后,请按如下所示进行身份验证:

使用诸如 pip 这样包管理器来安装 azure-ai-inference 包:

pip install azure-ai-inference

然后,使用包来调用模型。 以下示例演示如何创建客户端以通过 Microsoft Entra ID 使用聊天补全:

import os
from azure.ai.inference import ChatCompletionsClient
from azure.identity import DefaultAzureCredential

client = ChatCompletionsClient(
    endpoint="https://<resource>.services.ai.azure.com/models",
    credential=DefaultAzureCredential(),
    credential_scopes=["https://cognitiveservices.azure.com/.default"],
)

局限性

  • 不能将 Azure OpenAI Batch 与 Foundry 模型终结点配合使用。 必须使用专用部署 URL,如 Azure OpenAI 文档中的 Batch API 支持中所述。
  • 推理终结点不支持实时 API。 使用专用部署 URL。