你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
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
- 拥有有效订阅的 Azure 帐户。 如果没有帐户,请创建一个 免费的 Azure 帐户,其中包括免费试用订阅。
- 如果还没有 Foundry 项目,请创建一个项目。
- Microsoft Foundry 模型允许客户通过一个终结点和凭据来使用由旗舰模型提供商提供的最强大的模型。 这意味着你可以在模型之间切换,并从应用程序中使用它们,并且一行代码都不需要修改。在项目的“概述”部分复制“Foundry 项目终结点”。 稍后会用到它。
Tip
如果未看到“Foundry 项目终结点”,则使用的是基于中心的项目。 (请参阅 项目类型)。 切换到 Foundry 项目,或使用前面的步骤创建一个。
- 从右上角导航中选择 “主页 ”。
- 选择 “密钥 ”并复制 终结点。 稍后会用到它。
- 复制欢迎屏幕中的终结点。 在下一步骤中将使用它。
使用用于访问项目的同一帐户使用 Azure CLI 登录:
az login
以下示例演示如何对项目终结点进行身份验证和创建客户端。
Tip
这些代码示例是起点。 按照客户端库部分中所述,使用这些客户端与模型交互、运行评估等。
适用于 Python 的 Azure AI Projects 客户端库是一个统一库,通过连接到单个项目终结点,可以将多个客户端库一起使用。
安装项目客户端库
pip install azure-ai-projects azure-identity openaipip 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.projectscom.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 支持的编程语言
安装 OpenAI 包:
dotnet add package OpenAI以下代码片段演示如何使用 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 模型,包括 Azure OpenAI
- 使用 Foundry 代理服务
- 在云中运行评估
- 为应用启用跟踪
- 微调模型
- 检索外部资源连接的终结点和密钥,例如 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
Java 支持的 Foundry 工具
| 铸造工具 | Description | 快速入门和参考文档 |
|---|---|---|
|
|
向应用程序添加语音到文本、文本到语音、翻译和说话人识别功能。 | • 语音转文本快速入门 • 文本转语音快速入门 • 语音翻译快速入门 • 适用于 Java 的语音 SDK • Maven 语音包 |
|
|
检测应用程序和服务中的有害内容。 | • 分析文本内容快速入门 • 使用文本阻止列表快速入门 • 图像内容分析快速入门 • 适用于 Java 的内容安全 SDK • 内容安全 Maven 包 |
|
|
分析数字图像和富媒体资产中的内容。 | • 图像分析快速入门 • 使用人脸服务快速入门 • 适用于 Java 的视觉 SDK • 视觉 Maven 包 |
|
|
使用自然语言理解功能生成应用程序。 | • 实体链接快速入门 • 语言检测快速入门 • 关键短语提取快速入门 • 检测命名实体(NER)快速入门 • 检测个人身份信息(PII)快速入门 • 情绪分析和观点挖掘快速入门 • 使用文本、文档和对话摘要快速入门 • 使用文本分析进行健康快速入门 • 用于 Java 的语言 SDK(文本分析) • 语言 Maven 包 |
|
|
使用 AI 支持的翻译技术翻译超过 100 种正在使用、处于危险和濒危的语言和方言。 | • Java 翻译 SDK(文本) • Maven 翻译包(文本) |
|
|
将文档转换为智能数据驱动解决方案。 | • 文档智能快速入门 • 适用于 Java 的文档智能 SDK • 文档智能 Maven 包 |
|
|
将 AI 支持的云搜索引入你的移动应用和 Web 应用。 | • 使用代理检索快速入门 • 矢量搜索快速入门 • 使用基础设置数据进行经典生成式搜索 (RAG) 快速入门 • 全文搜索快速入门 • 语义排名快速入门 • 快速入门:使用自己的数据与 Azure OpenAI 模型聊天 • 适用于 Java 的 Azure AI 搜索 SDK • Azure AI 搜索 Maven 包 |
JavaScript 支持的 Foundry 工具
| 铸造工具 | Description | 参考文档 |
|---|---|---|
|
|
向应用程序添加语音到文本、文本到语音、翻译和说话人识别功能。 | • 语音转文本快速入门 • 文本转语音快速入门 • 语音翻译快速入门 • 适用于 JavaScript 的语音 SDK • 语音 npm 包 |
|
|
检测应用程序和服务中的有害内容。 | • 分析文本内容快速入门 • 使用文本阻止列表快速入门 • 图像内容分析快速入门 • 内容安全 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 包 |
|
|
将 AI 支持的云搜索引入你的移动应用和 Web 应用。 | • 使用代理检索快速入门 • 矢量搜索快速入门 • 使用基础设置数据进行经典生成式搜索 (RAG) 快速入门 • 全文搜索快速入门 • 语义排名快速入门 • 快速入门:使用自己的数据与 Azure OpenAI 模型聊天 • 适用于 JavaScript 的 Azure AI 搜索 SDK • Azure AI 搜索 npm 包 |
Python 支持的 Foundry 工具
使用代理框架进行本地协调
Microsoft Agent Framework 是一个开源开发工具包,用于生成适用于 .NET 和 Python 的 AI 代理和多代理工作流。 它提供了一种生成和管理可与用户和其他服务交互的 AI 代理的方法。 它可以协调 Foundry 中的代理,或者具有使用 Foundry 模型的本地代理。
有关详细信息,请参阅 Microsoft Agent Framework 概述