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

Microsoft Foundry SDK 和终结点

Note

本文档引用 Microsoft Foundry (经典) 门户。

🔄 如果你使用的是新门户,请切换到 Microsoft Foundry(新)文档

Note

本文档指的是 Microsoft Foundry(新) 门户网站。

本文介绍可以与 Foundry 资源一起使用的 SDK 和终结点。 其中介绍了如何连接到项目、访问来自不同提供程序的模型,以及如何使用 Foundry 工具。 SDK 提供了一种统一的方法来通过采用多种编程语言的客户端库处理 AI 资源。

Microsoft Foundry SDK 简化了 Azure 上的 AI 应用程序开发。 它允许开发人员:

  • 通过一个统一接口从多个提供商访问模型
  • 合并模型、数据和 Foundry 工具以生成 AI 驱动的应用程序
  • 在开发、测试和生产中评估、调试和提高应用程序质量和安全性

Microsoft Foundry SDK 与其他协同工作的客户端库和服务集成。

Foundry SDK

使用 Microsoft Foundry 的开发人员需要灵活地将多个 AI 功能集成到统一工作流中。 这些 SDK 提供用于预配资源、协调代理和连接到专用 Foundry 工具的构建基块。 通过选择正确的库,可以简化开发、降低复杂性,并确保解决方案跨 Foundry 项目和外部终结点进行缩放。

Note

本文适用于 Foundry 项目。 此处显示的代码不适用于 基于中心的项目。 有关详细信息,请参阅项目类型

Prerequisites

  • 如果还没有 Foundry 项目,请创建一个项目。
  • Microsoft Foundry 模型允许客户通过一个终结点和凭据来使用由旗舰模型提供商提供的最强大的模型。 这意味着你可以在模型之间切换,并从应用程序中使用它们,并且一行代码都不需要修改。
    在项目的“概述”部分复制“Foundry 项目终结点”。 稍后会用到它。屏幕截图显示了 Foundry 项目的项目概述。

    Tip

    如果未看到“Foundry 项目终结点”,则使用的是基于中心的项目。 (请参阅 项目类型)。 切换到 Foundry 项目,或使用前面的步骤创建一个。

    1. 从右上角导航中选择 “主页 ”。
    2. 选择 “密钥 ”并复制 终结点。 稍后会用到它。
  • 复制欢迎屏幕中的终结点。 在下一步骤中将使用它。Microsoft Foundry 模型欢迎屏幕的屏幕截图,其中显示了终结点 URL 和复制按钮。
  • 使用用于访问项目的同一帐户使用 Azure CLI 登录:

    az login
    

以下示例演示如何对项目终结点进行身份验证和创建客户端。

Tip

这些代码示例是起点。 按照客户端库部分中所述,使用这些客户端与模型交互、运行评估等。

适用于 Python 的 Azure AI Projects 客户端库是一个统一库,通过连接到单个项目终结点,可以将多个客户端库一起使用。

  • 安装项目客户端库

    pip install azure-ai-projects azure-identity openai
    
    pip install --pre azure-ai-projects
    pip install azure-identity openai
    
  • 在代码中创建项目客户端。 从项目的“概述”页复制 Foundry 项目终结点并更新终结点字符串值。

    from azure.identity import DefaultAzureCredential
    from azure.ai.projects import AIProjectClient
    
    project = AIProjectClient(
      endpoint="your_project_endpoint",  # Replace with your endpoint
      credential=DefaultAzureCredential())
    # The AIProjectClient lets you access models, data, and services in your project.
    

适用于 Java 的 Azure AI Projects 客户端库(预览版)是一个统一库,通过连接到单个项目终结点,可以将多个客户端库一起使用。

Important

本文中标记了“(预览版)”的项目目前为公共预览版。 此预览版未提供服务级别协议,不建议将其用于生产工作负载。 某些功能可能不受支持或者受限。 有关详细信息,请参阅 Microsoft Azure 预览版补充使用条款

  • 将这些包添加到安装:

    • com.azure.ai.projects
    • com.azure.core
  • 在代码中创建项目客户端。 从项目的“概述”页复制 Foundry 项目终结点并更新连接字符串值。

    import com.azure.ai.projects.ProjectsClient;
    import com.azure.ai.projects.ProjectsClientBuilder;
    import com.azure.core.credential.AzureKeyCredential;
    
    String endpoint ="your_project_endpoint"; // Replace with your endpoint
    
    ProjectsClient projectClient = new ProjectsClientBuilder()
        .credential(new DefaultAzureCredential())
        .endpoint(endpoint)
        .buildClient();
    // The ProjectsClient enables unified access to your project's resources.
    

适用于 JavaScript 的 Azure AI Projects 客户端库是一个统一库,通过连接到单个项目终结点,可以将多个客户端库一起使用。

  • 安装依赖项(预览版):

    npm install @azure/ai-projects @azure/identity
    
  • 在代码中创建项目客户端。 从项目的“概述”页复制 Foundry 项目终结点并更新终结点字符串值。

    import { AIProjectClient } from '@azure/ai-projects';
    import { DefaultAzureCredential } from '@azure/identity';
    
    const endpoint = "your_project_endpoint"; // Replace with your actual endpoint
    
    const project = new AIProjectClient(endpoint, new DefaultAzureCredential());
    // The AIProjectClient lets you access models, data, and services in your project.
    

适用于 .NET 的 Azure AI Projects 客户端库是一个统一库,通过连接到单个项目终结点,可以将多个客户端库一起使用。

  • 安装软件包:

    dotnet add package Azure.Identity
    dotnet add package Azure.Core
    dotnet add package OpenAI
    
  • 在代码中创建项目客户端。 项目的“概述”页复制 Foundry 项目终结点并更新 endpointUrl 字符串值。

    using Azure.Identity;
    using Azure.Core;
    using Azure.Core.Pipeline;
    using Azure.AI.Projects;
    using System;
    
    string endpointUrl = "your_project_endpoint"; // Replace with your endpoint
    
    DefaultAzureCredential credential = new();
    BearerTokenPolicy tokenPolicy = new(credential, "https://cognitiveservices.azure.com/.default");
    
    AIProjectClientOptions clientOptions = new AIProjectClientOptions();
    // The PerRetry position ensures the authentication policy is applied to every retry attempt.
    // This is important for robust authentication in distributed/cloud environments.
    clientOptions.AddPolicy(tokenPolicy, HttpPipelinePosition.PerRetry);
    
    AIProjectClient projectClient = new(new Uri(endpointUrl), new DefaultAzureCredential(), clientOptions);
    // The AIProjectClient lets you access models, data, and services in your project.
    

OpenAI SDK

OpenAI SDK 允许与 Azure OpenAI 服务进行交互。 它提供了一个简单的界面,用于进行 API 调用和管理身份验证。 OpenAI SDK 直接调用 Azure OpenAI 终结点。 以下代码片段演示如何从 Project 客户端创建 OpenAI 客户端,以便进行适当的范围和上下文管理。

应使用哪个终结点?

  • 管理项目还是调用代理软件 v2? 请将 Foundry Project 端点与 Foundry SDK 一起使用。 从项目获取 OpenAI 客户端,使用 Microsoft Entra ID 进行身份验证。
  • 直接调用模型? 将 Azure OpenAI 终结点与具有 Microsoft Entra ID 的 OpenAI SDK 配合使用作为首选身份验证方法。 如果使用 API 密钥,请选择 v1 终结点: https://<YOUR-RESOURCE-NAME>.openai.azure.com/openai/v1/

从项目创建 OpenAI 客户端

# Use the AIProjectClient to create an OpenAI client for your project
openai_client = project.get_openai_client(api_version="api_version")
response = openai_client.responses.create(
    model="gpt-4.1-mini",
    input="What is the size of France in square miles?",
)
print(f"Response output: {response.output_text}")

以下代码片段演示如何使用 OpenAI 客户端与 Azure OpenAI v1 终结点来获取响应。

from openai import OpenAI
from azure.identity import DefaultAzureCredential, get_bearer_token_provider

token_provider = get_bearer_token_provider(
    DefaultAzureCredential(), "https://cognitiveservices.azure.com/.default"
)

client = OpenAI(  
  base_url = "https://<YOUR-RESOURCE-NAME>.openai.azure.com/openai/v1/",  
  api_key=token_provider,
)

response = client.responses.create(
    model="model_deployment_name",
    input= "What is the size of France in square miles?" 
)

print(response.model_dump_json(indent=2)) 

有关使用 OpenAI SDK 的详细信息,请参阅 Azure OpenAI 支持的编程语言

# Use the AIProjectClient to create an OpenAI client for your project
openai_client = project.get_openai_client()
response = openai_client.responses.create(
    model="gpt-4.1-mini",
    input="What is the size of France in square miles?",
)
print(f"Response output: {response.output_text}")

以下代码片段演示如何使用 OpenAI 客户端与 Azure OpenAI v1 终结点来获取响应。

from openai import OpenAI
from azure.identity import DefaultAzureCredential, get_bearer_token_provider

token_provider = get_bearer_token_provider(
    DefaultAzureCredential(), "https://cognitiveservices.azure.com/.default"
)

client = OpenAI(  
  base_url = "https://<YOUR-RESOURCE-NAME>.openai.azure.com/openai/v1/",  
  api_key=token_provider,
)

response = client.responses.create(
    model="model_deployment_name",
    input= "What is the size of France in square miles?" 
)

print(response.model_dump_json(indent=2)) 

有关使用 OpenAI SDK 的详细信息,请参阅 Azure OpenAI 支持的编程语言

Important

本文中标记了“(预览版)”的项目目前为公共预览版。 此预览版未提供服务级别协议,不建议将其用于生产工作负载。 某些功能可能不受支持或者受限。 有关详细信息,请参阅 Microsoft Azure 预览版补充使用条款

// 
OpenAIClient openAIClient = projectClient.getOpenAIClient();

有关使用 OpenAI SDK 的详细信息,请参阅 Azure OpenAI 支持的编程语言

有关使用 OpenAI SDK 的详细信息,请参阅 Azure OpenAI 支持的编程语言

// Use the AIProjectClient to create an OpenAI client for your project
const openAIClient = await project.getOpenAIClient();

有关使用 OpenAI SDK 的详细信息,请参阅 Azure OpenAI 支持的编程语言

有关使用 OpenAI SDK 的详细信息,请参阅 Azure OpenAI 支持的编程语言

  1. 安装 OpenAI 包:

    dotnet add package OpenAI
    
  2. 以下代码片段演示如何使用 Azure OpenAI v1 终结点直接创建 OpenAI 客户端。

    using Azure.Identity;
    using Azure.Core;
    using Azure.Core.Pipeline;   
    using OpenAI;
    using System;
    using System.ClientModel.Primitives;
    
    endpointUrl = "https://<YOUR-RESOURCE-NAME>.openai.azure.com/openai/v1/"
    
    DefaultAzureCredential credential = new();
    BearerTokenPolicy tokenPolicy = new(credential, "https://cognitiveservices.azure.com/.default");
    
    OpenAIClientOptions clientOptions = new()
    {
        Endpoint = new Uri(endpointUrl)
    };
    
    // The PerRetry position ensures the authentication policy is applied to every retry attempt.
    // This is important for robust authentication in distributed/cloud environments.
    clientOptions.AddPolicy(tokenPolicy, HttpPipelinePosition.PerRetry);
    
    var projectClient = new ResponseClient(
        endpointUrl, 
        credential,
        clientOptions
    );
    // The ResponseClient lets you interact with models and services in your project.
    

有关使用 OpenAI SDK 的详细信息,请参阅 Azure OpenAI 支持的编程语言

有关使用 OpenAI SDK 的详细信息,请参阅 Azure OpenAI 支持的编程语言

创建客户端后,使用它访问模型、运行评估并连接到其他 Foundry 工具。

下一部分列出了 Foundry Tools 客户端库,并演示如何使用这些库。

Foundry Tools SDK

若要使用 Foundry 工具,可以将以下 SDK 与列出的终结点一起使用。

应使用哪个终结点?

根据需求选择终结点:

使用 Azure AI 服务终结点来访问计算机视觉、内容安全、文档智能、语言、翻译和令牌铸造工具。

Azure AI 服务终结点: https://<YOUR-RESOURCE-NAME>.services.ai.azure.com/

对于 Speech and Translation Foundry Tools,请使用以下表中的终结点。 将占位符替换为资源信息。

语音终结点

铸造工具 端点
语音转文本 (标准) https://<YOUR-RESOURCE-REGION>.stt.speech.microsoft.com
文本转语音 (神经) https://<YOUR-RESOURCE-REGION>.tts.speech.microsoft.com
定制声音 https://<YOUR-RESOURCE-NAME>.cognitiveservices.azure.com/

翻译端点

铸造工具 端点
文本翻译 https://api.cognitive.microsofttranslator.com/
文档翻译 https://<YOUR-RESOURCE-NAME>.cognitiveservices.azure.com/

以下部分包括 Foundry 工具 SDK 的快速入门链接和参考信息。

C# 支持的 Foundry Tools

铸造工具 Description 快速入门和参考文档
语音图标 语音 向应用程序添加语音到文本、文本到语音、翻译和说话人识别功能。 语音转文本快速入门

文本转语音快速入门

语音翻译快速入门

适用于 .NET 的语音 SDK

语音 NuGet 包(语音命令行接口)
Content Safety 图标 内容安全 检测应用程序和服务中的有害内容。 分析文本内容快速入门

使用文本阻止列表快速入门

图像内容分析快速入门

适用于 .NET 的内容安全 SDK

内容安全 NuGet 包
视觉图标 视觉 分析数字图像和富媒体资产中的内容。 Foundry Tools v3.2 GA 中的 Azure Vision 阅读快速入门指南

图像分析快速入门

使用人脸服务快速入门

适用于 .NET 的视觉 SDK

视觉 NuGet 包
语言图标 语言 使用自然语言理解功能生成应用程序。 自定义问答(CQA)快速入门

实体链接快速入门

语言检测快速入门

关键短语提取快速入门

检测命名实体(NER)快速入门

检测个人身份信息(PII)快速入门

情绪分析和观点挖掘快速入门

使用文本、文档和对话摘要快速入门

使用文本分析进行健康快速入门

用于 .NET 的语言 SDK(文本分析)

语言 NuGet 包(文本分析)

适用于 .NET 的语言 SDK (问答)

语言 NuGet 包(问题解答)
翻译器图标 翻译工具 使用 AI 支持的翻译技术翻译超过 100 种正在使用、处于危险和濒危的语言和方言。 适用于 .NET 的翻译 SDK (文本)

NuGet 翻译包(文本)

适用于 .NET 的翻译 SDK(批处理)

NuGet 翻译包(批处理)
文档智能图标 文档智能 将文档转换为智能数据驱动解决方案。 文档智能快速入门

适用于 .NET 的文档智能 SDK

文档智能 NuGet 包
Azure AI 搜索图标 Azure AI 搜索 将 AI 支持的云搜索引入你的移动应用和 Web 应用。 使用代理检索快速入门

矢量搜索快速入门

使用基础设置数据进行经典生成式搜索 (RAG) 快速入门

全文搜索快速入门

语义排名快速入门

快速入门:使用自己的数据与 Azure OpenAI 模型聊天

适用于 .NET 的 Azure AI 搜索 SDK

Azure AI 搜索 NuGet 包

Java 支持的 Foundry 工具

铸造工具 Description 快速入门和参考文档
语音图标 语音 向应用程序添加语音到文本、文本到语音、翻译和说话人识别功能。 语音转文本快速入门

文本转语音快速入门

语音翻译快速入门

适用于 Java 的语音 SDK

Maven 语音包
Content Safety 图标 内容安全 检测应用程序和服务中的有害内容。 分析文本内容快速入门

使用文本阻止列表快速入门

图像内容分析快速入门

适用于 Java 的内容安全 SDK

内容安全 Maven 包
视觉图标 视觉 分析数字图像和富媒体资产中的内容。 图像分析快速入门

使用人脸服务快速入门

适用于 Java 的视觉 SDK

视觉 Maven 包
语言图标 语言 使用自然语言理解功能生成应用程序。 实体链接快速入门

语言检测快速入门

关键短语提取快速入门

检测命名实体(NER)快速入门

检测个人身份信息(PII)快速入门

情绪分析和观点挖掘快速入门

使用文本、文档和对话摘要快速入门

使用文本分析进行健康快速入门

用于 Java 的语言 SDK(文本分析)

语言 Maven 包
翻译器图标 翻译工具 使用 AI 支持的翻译技术翻译超过 100 种正在使用、处于危险和濒危的语言和方言。 Java 翻译 SDK(文本)

Maven 翻译包(文本)
文档智能图标 文档智能 将文档转换为智能数据驱动解决方案。 文档智能快速入门

适用于 Java 的文档智能 SDK

文档智能 Maven 包
Azure AI 搜索图标 Azure AI 搜索 将 AI 支持的云搜索引入你的移动应用和 Web 应用。 使用代理检索快速入门

矢量搜索快速入门

使用基础设置数据进行经典生成式搜索 (RAG) 快速入门

全文搜索快速入门

语义排名快速入门

快速入门:使用自己的数据与 Azure OpenAI 模型聊天

适用于 Java 的 Azure AI 搜索 SDK

Azure AI 搜索 Maven 包

JavaScript 支持的 Foundry 工具

铸造工具 Description 参考文档
语音图标 语音 向应用程序添加语音到文本、文本到语音、翻译和说话人识别功能。 语音转文本快速入门

文本转语音快速入门

语音翻译快速入门

适用于 JavaScript 的语音 SDK

语音 npm 包
Content Safety 图标 内容安全 检测应用程序和服务中的有害内容。 分析文本内容快速入门

使用文本阻止列表快速入门

图像内容分析快速入门

内容安全 npm 包
视觉图标 视觉 分析数字图像和富媒体资产中的内容。 Foundry Tools v3.2 GA 中的 Azure Vision 阅读快速入门指南

图像分析快速入门

使用人脸服务快速入门

适用于 JavaScript 的视觉 SDK

Vision npm 包
语言图标 语言 使用自然语言理解功能生成应用程序。 实体链接快速入门

语言检测快速入门

关键短语提取快速入门

检测命名实体(NER)快速入门

检测个人身份信息(PII)快速入门

情绪分析和观点挖掘快速入门

使用文本、文档和对话摘要快速入门

使用文本分析进行健康快速入门

适用于 JavaScript 的语言 SDK(文本分析)

语言 npm 包
翻译器图标 翻译工具 使用 AI 支持的翻译技术翻译超过 100 种正在使用、处于危险和濒危的语言和方言。 JavaScript 翻译 SDK(文本)

翻译 npm 包(文本)
文档智能图标 文档智能 将文档转换为智能数据驱动解决方案。 文档智能快速入门

适用于 JavaScript 的文档智能 SDK

文档智能 npm 包
Azure AI 搜索图标 Azure AI 搜索 将 AI 支持的云搜索引入你的移动应用和 Web 应用。 使用代理检索快速入门

矢量搜索快速入门

使用基础设置数据进行经典生成式搜索 (RAG) 快速入门

全文搜索快速入门

语义排名快速入门

快速入门:使用自己的数据与 Azure OpenAI 模型聊天

适用于 JavaScript 的 Azure AI 搜索 SDK

Azure AI 搜索 npm 包

Python 支持的 Foundry 工具

铸造工具 Description 快速入门和参考文档
语音图标 语音 向应用程序添加语音到文本、文本到语音、翻译和说话人识别功能。 语音转文本快速入门

文本转语音快速入门

语音翻译快速入门

适用于 Python 的语音 SDK

语音 PyPi 包
Content Safety 图标 内容安全 检测应用程序和服务中的有害内容。 分析文本内容快速入门

使用文本阻止列表快速入门

图像内容分析快速入门

适用于 Python 的内容安全 SDK

内容安全 PyPi 包
视觉图标 视觉 分析数字图像和富媒体资产中的内容。 Foundry Tools v3.2 GA 中的 Azure Vision 阅读快速入门指南

图像分析快速入门

使用人脸服务快速入门

用于 Python 的视觉 SDK

Vision PyPi 包
语言图标 语言 使用自然语言理解功能生成应用程序。 自定义问答(CQA)快速入门

实体链接快速入门

语言检测快速入门

关键短语提取快速入门

检测命名实体 (NER) 快速入门

检测个人身份信息(PII)快速入门

情绪分析和观点挖掘快速入门

使用文本、文档和对话摘要快速入门

使用文本分析进行健康快速入门

用于 Python 的语言 SDK(文本分析)

语言 PyPi 包(文本分析)

用于 Python 的语言 SDK (问答)

语言 PyPi 包(问题解答)

适用于 Python 的语言 SDK(语言对话)

语言 PyPi 包(语言对话)
翻译器图标 翻译工具 使用 AI 支持的翻译技术翻译超过 100 种正在使用、处于危险和濒危的语言和方言。 Python 翻译 SDK(文本)

PyPi 翻译包(文本)

Python 翻译 SDK(批处理)

Translator PyPi 包(批处理)
文档智能图标 文档智能 将文档转换为智能数据驱动解决方案。 文档智能快速入门

用于 Python 的文档智能 SDK

文档智能 PyPi 包
Azure AI 搜索图标 Azure AI 搜索 将 AI 支持的云搜索引入你的移动应用和 Web 应用。 连接到搜索服务快速入门

使用代理检索快速入门

矢量搜索快速入门

使用基础设置数据进行经典生成式搜索 (RAG) 快速入门

全文搜索快速入门

语义排名快速入门

快速入门:使用自己的数据与 Azure OpenAI 模型聊天

适用于 Python 的 Azure AI 搜索 SDK

Azure AI 搜索 PyPi 包

使用代理框架进行本地协调

Microsoft Agent Framework 是一个开源开发工具包,用于生成适用于 .NET 和 Python 的 AI 代理和多代理工作流。 它提供了一种生成和管理可与用户和其他服务交互的 AI 代理的方法。 它可以协调 Foundry 中的代理,或者具有使用 Foundry 模型的本地代理。

有关详细信息,请参阅 Microsoft Agent Framework 概述