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

Azure AI Foundry SDK 客户端库

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 项目终结点。 稍后会用到它。

    屏幕截图显示了 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.projects
    • com.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 服务。

Azure AI Services 客户端库

若要使用 Azure AI 服务,可以将以下客户端库与项目主页中列出的终结点配合使用。

C# 支持的服务

Service Description 参考文档
语音图标 语音 向应用程序添加语音到文本、文本到语音、翻译和说话人识别功能。 适用于 .NET 的语音 SDK

语音 NuGet 包(语音命令行接口)
Content Safety 图标 内容安全 检测应用程序和服务中的有害内容。 适用于 .NET 的内容安全 SDK

内容安全 NuGet 包
视觉图标 视觉 分析数字图像和富媒体资产中的内容。 适用于 .NET 的视觉 SDK

视觉 NuGet 包
语言图标 语言 使用自然语言理解功能生成应用程序。 用于 .NET 的语言 SDK(文本分析)

语言 NuGet 包(文本分析)

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

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

NuGet 翻译包(文本)

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

NuGet 翻译包(批处理)
文档智能图标 文档智能 将文档转换为智能数据驱动解决方案。 适用于 .NET 的文档智能 SDK

文档智能 NuGet 包
Azure AI 搜索图标 Azure AI 搜索 将 AI 支持的云搜索引入你的移动应用和 Web 应用。 适用于 .NET 的 Azure AI 搜索 SDK

Azure AI 搜索 NuGet 包

Java 支持的服务

Service Description 参考文档
语音图标 语音 向应用程序添加语音到文本、文本到语音、翻译和说话人识别功能。 适用于 Java 的语音 SDK

Maven 语音包
Content Safety 图标 内容安全 检测应用程序和服务中的有害内容。 适用于 Java 的内容安全 SDK

内容安全 Maven 包
视觉图标 [Vision]../../../ai-services/computer-vision/index.yml) 分析数字图像和富媒体资产中的内容。 适用于 Java 的视觉 SDK

视觉 Maven 包
语言图标 语言 使用自然语言理解功能生成应用程序。 用于 Java 的语言 SDK(文本分析)

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

Maven 翻译包(文本)
文档智能图标 文档智能 将文档转换为智能数据驱动解决方案。 适用于 Java 的文档智能 SDK

文档智能 Maven 包
Azure AI 搜索图标 Azure AI 搜索 将 AI 支持的云搜索引入你的移动应用和 Web 应用。 适用于 Java 的 Azure AI 搜索 SDK

Azure AI 搜索 Maven 包

JavaScript 支持的服务

Service Description 参考文档
语音图标 语音 向应用程序添加语音到文本、文本到语音、翻译和说话人识别功能。 适用于 JavaScript 的语音 SDK

语音 npm 包
Content Safety 图标 内容安全 检测应用程序和服务中的有害内容。 适用于 JavaScript 的内容安全 SDK

内容安全 npm 包
视觉图标 视觉 分析数字图像和富媒体资产中的内容。 适用于 JavaScript 的视觉 SDK

Vision npm 包
语言图标 语言 使用自然语言理解功能生成应用程序。 适用于 JavaScript 的语言 SDK(文本分析)

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

翻译 npm 包(文本)
文档智能图标 文档智能 将文档转换为智能数据驱动解决方案。 适用于 JavaScript 的文档智能 SDK

文档智能 npm 包
Azure AI 搜索图标 Azure AI 搜索 将 AI 支持的云搜索引入你的移动应用和 Web 应用。 适用于 JavaScript 的 Azure AI 搜索 SDK

Azure AI 搜索 npm 包

Python 支持的服务

Service Description 参考文档
语音图标 语音 向应用程序添加语音到文本、文本到语音、翻译和说话人识别功能。 适用于 Python 的语音 SDK

语音 PyPi 包
Content Safety 图标 内容安全 检测应用程序和服务中的有害内容。 适用于 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 包
Azure AI 搜索图标 Azure AI 搜索 将 AI 支持的云搜索引入你的移动应用和 Web 应用。 适用于 Python 的 Azure AI 搜索 SDK

Azure AI 搜索 PyPi 包