你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
Azure AI Foundry SDK 是一个全面的工具链,旨在简化在 Azure 开发 AI 应用程序的流程。 借助它,开发人员能够:
- 通过单一接口访问来自不同模型提供商的热门模型
- 轻松地结合使用模型、数据和 AI 服务来生成 AI 应用程序
- 跨开发、测试和生产环境评估、调试和提高应用程序的质量和安全性
Azure AI Foundry SDK 是一组旨在协同工作的客户端库和服务。
Note
本文适用于 Azure AI Foundry 项目。 此处显示的代码不适用于 基于中心的项目。 有关详细信息,请参阅项目类型。
Prerequisites
-
拥有有效订阅的 Azure 帐户。 如果没有帐户,请创建一个 免费的 Azure 帐户,其中包括免费试用订阅。
如果还没有 Azure AI Foundry 项目,请创建一个项目。
-
Azure AI Foundry 模型使客户能够通过单个终结点和凭据访问顶级的旗舰模型提供商的最强大的模型。 这意味着你可以在模型之间切换,并从应用程序中使用它们,并且一行代码都不需要修改。
在项目的“概述”部分中复制 Azure AI Foundry 项目终结点。 稍后会用到它。
Tip
如果未看到 Azure AI Foundry 项目终结点,则使用的是基于中心的项目。 (请参阅 项目类型)。 切换到 Azure AI Foundry 项目,或使用前面的步骤创建一个项目。
使用用于访问项目的同一帐户使用 Azure CLI 登录:
az login
统一项目客户端库
以下示例演示如何使用不同的编程语言连接到 Azure AI Foundry 项目。 此连接是通过 SDK 访问模型、数据和 AI 服务的第一步。 每个代码块演示如何对项目终结点进行身份验证和创建客户端。
Tip
下面的代码示例是入门起点。 你将使用这些客户端与模型交互、运行评估等,如以下客户端库部分中所述。
适用于 Python 的 Azure AI Foundry Projects 客户端库是一个统一库,通过连接到单个项目终结点,可以将多个客户端库一起使用。
安装项目客户端库
pip install azure-ai-projects azure-identity在代码中创建项目客户端。 从 项目的“概述”页复制 Azure AI 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 Foundry Projects 客户端库(预览版)是一个统一库,通过连接到单个项目终结点,可以将多个客户端库一起使用。
Important
本文中标记了“(预览版)”的项目目前为公共预览版。 此预览版未提供服务级别协议,不建议将其用于生产工作负载。 某些功能可能不受支持或者受限。 有关详细信息,请参阅 Microsoft Azure 预览版补充使用条款。
将这些包添加到安装:
com.azure.ai.projectscom.azure.core
在代码中创建项目客户端。 从 项目的“概述”页复制 Azure AI 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 Foundry Projects 客户端库是一个统一库,通过连接到单个项目终结点,可以将多个客户端库一起使用。
安装依赖项(预览版):
npm install @azure/ai-projects @azure/identity在代码中创建项目客户端。 从 项目的“概述”页复制 Azure AI 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()); const projectClient = await project.getAzureOpenAIClient({ // The API version should match the version of the Azure OpenAI resource apiVersion: "2024-12-01-preview" }); // The AIProjectClient lets you access models, data, and services in your project.
适用于 .NET 的 Azure AI Foundry Projects 客户端库是一个统一库,通过连接到单个项目终结点,可以将多个客户端库一起使用。
安装软件包:
dotnet add package Azure.Identity dotnet add package Azure.Core dotnet add package Azure.AI.Inference在代码中创建项目客户端。 从 项目的“概述”页复制 Azure AI Foundry 项目终结点并更新连接字符串值。
using Azure; using Azure.Identity; using Azure.AI.Inference; using Azure.Core; using Azure.Core.Pipeline; var endpointUrl = "your_project_endpoint"; // Replace with your actual endpoint var credential = new DefaultAzureCredential(); AzureAIInferenceClientOptions clientOptions = new AzureAIInferenceClientOptions(); BearerTokenAuthenticationPolicy tokenPolicy = new BearerTokenAuthenticationPolicy( credential, new string[] { "https://cognitiveservices.azure.com/.default" } ); // 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 ChatCompletionsClient( endpointUrl, credential, clientOptions ); // The ChatCompletionsClient lets you interact with models and services in your project.
创建客户端后,可以使用它访问模型、运行评估并连接到其他 AI 服务。 下一部分列出了可用的客户端库,并演示如何将其用于特定的 Azure AI 服务。
- 使用项目终结点,可以:
- 使用 Foundry 模型,包括 Azure OpenAI
- 使用 Foundry 代理服务
- 在云中运行评估)
- 为应用启用跟踪
- 检索外部资源连接的终结点和密钥
Azure AI Services 客户端库
若要使用 Azure AI 服务,可以将以下客户端库与项目主页中列出的终结点配合使用。
C# 支持的服务
| Service | Description | 参考文档 |
|---|---|---|
|
|
向应用程序添加语音到文本、文本到语音、翻译和说话人识别功能。 | • 适用于 .NET 的语音 SDK • 语音 NuGet 包(语音命令行接口) |
|
|
检测应用程序和服务中的有害内容。 | • 适用于 .NET 的内容安全 SDK • 内容安全 NuGet 包 |
|
|
分析数字图像和富媒体资产中的内容。 | • 适用于 .NET 的视觉 SDK • 视觉 NuGet 包 |
|
|
使用自然语言理解功能生成应用程序。 | • 用于 .NET 的语言 SDK(文本分析) • 语言 NuGet 包(文本分析) • 适用于 .NET 的语言 SDK (问答) • 语言 NuGet 包(问题解答) |
|
|
使用 AI 支持的翻译技术翻译超过 100 种正在使用、处于危险和濒危的语言和方言。 | • 适用于 .NET 的翻译 SDK (文本) • NuGet 翻译包(文本) • 适用于 .NET 的翻译 SDK(批处理) • NuGet 翻译包(批处理) |
|
|
将文档转换为智能数据驱动解决方案。 | • 适用于 .NET 的文档智能 SDK • 文档智能 NuGet 包 |
|
|
将 AI 支持的云搜索引入你的移动应用和 Web 应用。 | • 适用于 .NET 的 Azure AI 搜索 SDK • Azure AI 搜索 NuGet 包 |
Java 支持的服务
| Service | Description | 参考文档 |
|---|---|---|
|
|
向应用程序添加语音到文本、文本到语音、翻译和说话人识别功能。 | • 适用于 Java 的语音 SDK • Maven 语音包 |
|
|
检测应用程序和服务中的有害内容。 | • 适用于 Java 的内容安全 SDK • 内容安全 Maven 包 |
|
|
分析数字图像和富媒体资产中的内容。 | • 适用于 Java 的视觉 SDK • 视觉 Maven 包 |
|
|
使用自然语言理解功能生成应用程序。 | • 用于 Java 的语言 SDK(文本分析) • 语言 Maven 包 |
|
|
使用 AI 支持的翻译技术翻译超过 100 种正在使用、处于危险和濒危的语言和方言。 | • Java 翻译 SDK(文本) • Maven 翻译包(文本) |
|
|
将文档转换为智能数据驱动解决方案。 | • 适用于 Java 的文档智能 SDK • 文档智能 Maven 包 |
|
|
将 AI 支持的云搜索引入你的移动应用和 Web 应用。 | • 适用于 Java 的 Azure AI 搜索 SDK • Azure AI 搜索 Maven 包 |
JavaScript 支持的服务
| Service | Description | 参考文档 |
|---|---|---|
|
|
向应用程序添加语音到文本、文本到语音、翻译和说话人识别功能。 | • 适用于 JavaScript 的语音 SDK • 语音 npm 包 |
|
|
检测应用程序和服务中的有害内容。 | • 适用于 JavaScript 的内容安全 SDK • 内容安全 npm 包 |
|
|
分析数字图像和富媒体资产中的内容。 | • 适用于 JavaScript 的视觉 SDK • Vision npm 包 |
|
|
使用自然语言理解功能生成应用程序。 | • 适用于 JavaScript 的语言 SDK(文本分析) • 语言 npm 包 |
|
|
使用 AI 支持的翻译技术翻译超过 100 种正在使用、处于危险和濒危的语言和方言。 | • JavaScript 翻译 SDK(文本) • 翻译 npm 包(文本) |
|
|
将文档转换为智能数据驱动解决方案。 | • 适用于 JavaScript 的文档智能 SDK • 文档智能 npm 包 |
|
|
将 AI 支持的云搜索引入你的移动应用和 Web 应用。 | • 适用于 JavaScript 的 Azure AI 搜索 SDK • Azure AI 搜索 npm 包 |
Python 支持的服务
| Service | Description | 参考文档 |
|---|---|---|
|
|
向应用程序添加语音到文本、文本到语音、翻译和说话人识别功能。 | • 适用于 Python 的语音 SDK • 语音 PyPi 包 |
|
|
检测应用程序和服务中的有害内容。 | • 适用于 Python 的内容安全 SDK • 内容安全 PyPi 包 |
|
|
分析数字图像和富媒体资产中的内容。 | • 用于 Python 的视觉 SDK • Vision PyPi 包 |
|
|
使用自然语言理解功能生成应用程序。 | • 用于 Python 的语言 SDK(文本分析) • 语言 PyPi 包(文本分析) • 用于 Python 的语言 SDK (问答) • 语言 PyPi 包(问题解答) • 适用于 Python 的语言 SDK(语言对话) • 语言 PyPi 包(语言对话) |
|
|
使用 AI 支持的翻译技术翻译超过 100 种正在使用、处于危险和濒危的语言和方言。 | • Python 翻译 SDK(文本) • PyPi 翻译包(文本) • Python 翻译 SDK(批处理) • Translator PyPi 包(批处理) |
|
|
将文档转换为智能数据驱动解决方案。 | • 用于 Python 的文档智能 SDK • 文档智能 PyPi 包 |
|
|
将 AI 支持的云搜索引入你的移动应用和 Web 应用。 | • 适用于 Python 的 Azure AI 搜索 SDK • Azure AI 搜索 PyPi 包 |