Azure AI Foundry SDK 是一个全面的工具链,旨在简化在 Azure 开发 AI 应用程序的流程。 借助它,开发人员能够:
- 通过单一接口访问来自不同模型提供商的热门模型
- 轻松地结合使用模型、数据和 AI 服务来生成 AI 应用程序
- 跨开发、测试和生产环境评估、调试和提高应用程序的质量和安全性
Azure AI Foundry SDK 是一组旨在协同工作的客户端库和服务。
注释
本文适用于 Foundry 项目。 此处显示的代码不适用于 基于中心的项目。 有关详细信息,请参阅 项目类型。
先决条件
一份 Azure 订阅。 如果没有帐户,请创建一个免费帐户。
如果还没有 Foundry 项目,请创建一个项目。
-
在项目的“概述”部分中复制 Azure AI Foundry 项目终结点。 稍后会用到它。
小窍门
如果未看到 Azure AI Foundry 项目终结点,则使用的是基于中心的项目。 (请参阅 项目类型)。 切换到 Foundry 项目,或使用前面的步骤创建一个。
使用用于访问项目的同一帐户使用 Azure CLI 登录:
az login
统一项目客户端库
Azure AI Foundry Projects 客户端库是一个统一库,通过连接到单个项目终结点,可以将多个客户端库一起使用。
安装项目客户端库
pip install azure-ai-projects azure-ai-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())
重要
本文中标记了“(预览版)”的项目目前为公共预览版。 此预览版未提供服务级别协议,不建议将其用于生产工作负载。 某些功能可能不受支持或者受限。 有关详细信息,请参阅 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();
重要
本文中标记了“(预览版)”的项目目前为公共预览版。 此预览版未提供服务级别协议,不建议将其用于生产工作负载。 某些功能可能不受支持或者受限。 有关详细信息,请参阅 Microsoft Azure 预览版补充使用条款。
安装依赖项(预览版):
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());
安装包:
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" } ); clientOptions.AddPolicy(tokenPolicy, HttpPipelinePosition.PerRetry); var projectClient = new ChatCompletionsClient( endpointUrl, credential, clientOptions );
- 使用项目终结点,可以:
- 使用 Foundry 模型,包括 Azure OpenAI
- 使用 Foundry 代理服务
- 在云中运行评估
- 为应用启用跟踪
- 检索外部资源连接的终结点和密钥
Azure AI Services 客户端库
若要使用 Azure AI 服务,可以将以下客户端库与项目主页中列出的终结点配合使用。
C# 支持的服务
服务 | 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 支持的服务
服务 | 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 支持的服务
服务 | 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 支持的服务
服务 | 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 包 |