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

Azure AI Foundry 模型的终结点

Azure AI Foundry 模型使客户能够通过单个终结点和凭据访问顶级的旗舰模型提供商的最强大的模型。 这意味着你可以在模型之间切换,并从应用程序中使用它们,并且一行代码都不需要修改。

本文解释了如何在服务内部组织模型,以及如何使用推理终结点来调用它们。

部署

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
  • Azure OpenAI 终结点(通常形式为 https://<resource-name>.openai.azure.com

Azure AI 推理终结点允许客户使用具有相同身份验证和架构的单个终结点来为资源中已部署的模型生成推理。 所有模型均支持此功能。 此终结点遵循 Azure AI 模型推理 API

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

若要详细了解如何应用 Azure OpenAI 终结点 ,请参阅 Azure AI Foundry 模型文档中的 Azure OpenAI

使用 Azure AI 推理终结点

推理终结点通过将请求内的参数 name 与部署名称进行匹配,将请求路由到给定部署。 这意味着,部署在某些配置下充当给定模型的别名。 这种灵活性允许你在服务中多次部署给定的模型,但如果需要,可以在不同的配置下部署。

一个图示,通过在有效负载请求内的参数“model”中指示 Meta-llama-3.2-8b-instruct 模型的名称,展示了路由的工作原理。

例如,如果你创建一个名为 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 AI Services 中的 Azure AI Foundry 模型的模型支持使用 Microsoft Entra ID 进行无密钥授权。 无密钥授权可增强安全性、简化用户体验、降低作复杂性,并为新式开发提供可靠的合规性支持。 对于采用安全且可缩放的标识管理解决方案的组织来说,它是一个不错的选择。

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

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

pip install azure-ai-inference

然后,您可以使用这个包来调用模型。 以下示例演示如何创建客户端以通过 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。

后续步骤