共用方式為


Microsoft Foundry 軟體開發工具包與端點

Note

本文件指的是 Microsoft Foundry(經典版) 入口網站。

🔄如果你正在使用新的入口網站,請切換至 Microsoft Foundry(新版)文件

Note

本文件指的是 Microsoft Foundry(新) 入口網站。

建立 Foundry 資源可透過統一的 SDK 與端點解鎖模型、代理與工具的存取權。 本文將介紹每個 SDK 的用途以及該使用哪個端點。

SDK 用途 端點
Foundry SDK Foundry 專屬功能,並具備相容 OpenAI 介面。 包含透過 Responses API(非 Chat Completions)存取 Foundry 的直接模型。 https://<resource-name>.services.ai.azure.com/api/projects/<project-name>
OpenAI SDK 最新的 OpenAI SDK 模型與功能,完整呈現 OpenAI API 表面。 Foundry 直接模型可透過 Chat Completions API(不是 Responses)提供。 https://<resource-name>.openai.azure.com/openai/v1
Foundry Tools SDK 預建解決方案(視覺、語音、內容安全等)。 工具專用端點(依服務而異)。
代理程式架構 多代理程式碼編排。 雲端中立. 透過 Foundry SDK 使用專案端點。

Note

資源類型: Foundry 資源提供先前列出的所有端點。 Azure OpenAI 資源僅提供 /openai/v1 端點。

認證: 這裡的範例使用 Microsoft Entra ID (DefaultAzureCredential)。 API 金鑰運作於 /openai/v1。 將金鑰傳遞為api_key,而不是使用 token 提供者。

Prerequisites

Important

在開始之前,請確保您的開發環境已準備就緒。
本文著重於情 境特定步驟 ,如安裝 SDK、認證及執行範例程式碼。

Foundry SDK

Foundry SDK 連接單一專案端點,提供最熱門的 Foundry 功能:

https://<resource-name>.services.ai.azure.com/api/projects/<project-name>

Note

如果你的組織使用自訂子網域,請在端點網址中替換 <resource-name><your-custom-subdomain>

這簡化了應用程式的設定。 你不是管理多個端點,而是設定一個。

安裝 SDK

Note

本文適用於 Foundry 專案。 此處顯示的程式代碼不適用於 中樞型專案。 如需詳細資訊,請參閱專案類型

Note

SDK 版本: 2.x 預覽版 SDK 針對新的 Foundry 入口網站與 API。 1.x GA SDK 的目標是 Foundry 經典版。 確保你所使用的範例與你安裝的套件相符。

Azure AI Projects Python 用戶端函式庫是一個統一函式庫,允許你透過連接單一專案端點,同時使用多個用戶端函式庫。

執行此指令以安裝 Foundry 經典專案的穩定套件。

pip install azure-ai-projects azure-identity openai

執行這些指令來安裝 Foundry 專案的預覽套件。

pip install --pre azure-ai-projects
pip install azure-identity openai

Azure AI Projects 的 Java 用戶端函式庫(預覽版)是一個統一函式庫,允許你透過連接單一專案端點來同時使用多個用戶端函式庫。

Important

本文中標示為 (預覽) 的項目目前處於公開預覽狀態。 此預覽版本沒有服務等級協定,不建議將其用於生產工作負載。 可能不支援特定功能,或可能已經限制功能。 如需詳細資訊,請參閱 Microsoft Azure 預覽版增補使用條款

將這些套件新增至您的安裝:

  • com.azure.ai.projects
  • com.azure.core

Azure AI 專案的 JavaScript 用戶端函式庫是一個統一函式庫,允許你透過連接單一專案端點來同時使用多個用戶端函式庫。

執行此指令以安裝目前 Foundry 經典專案的 JavaScript 套件。

npm install @azure/ai-projects @azure/identity

執行此指令以安裝 Foundry 專案的預覽版 JavaScript 套件。

npm install @azure/ai-projects@beta @azure/identity

Azure AI Projects 的 .NET 用戶端函式庫是一個統一函式庫,允許你透過連接單一專案端點,同時使用多個用戶端函式庫。

執行這個指令,將 Azure.AI.Projects 套件加入你的 .NET 專案。

dotnet add package Azure.AI.Projects --version 1.2

使用 Foundry SDK

SDK 暴露兩種用戶端類型,因為 Foundry 與 OpenAI 有不同的 API 形態:

  • 專案客戶端 – 用於 Foundry 原生操作的場景,其中 OpenAI 沒有對應的工具。 範例:列出連結、檢索專案屬性、啟用追蹤。
  • OpenAI 相容客戶端 – 用於基於 OpenAI 概念的 Foundry 功能。 回應 API、代理程式、評估與微調皆採用 OpenAI 風格的請求/回應模式。 這個客戶端還能讓你存取 Foundry 直接模型(非Azure-OpenAI 的模型託管在 Foundry 裡)。 專案端點在 /openai 路由上負責管理這些流量。

大多數應用程式同時使用兩個客戶端。 使用專案客戶端進行設定與設定,然後使用 OpenAI 相容的客戶端執行代理、評估及呼叫模型(包括 Foundry 直接模型)。

建立專案客戶:

from azure.identity import DefaultAzureCredential
from azure.ai.projects import AIProjectClient

project = AIProjectClient(
  endpoint="https://<resource-name>.services.ai.azure.com/api/projects/<project-name>",
  credential=DefaultAzureCredential())

從你的專案建立一個 OpenAI 相容的客戶端:

openai_client = project.inference.get_azure_openai_client(api_version="2024-10-21")
response = openai_client.responses.create(
    model="gpt-5.2",
    input="What is the speed of light?",
)
print(response.output_text)

建立專案客戶:

import com.azure.ai.projects.ProjectsClient;
import com.azure.ai.projects.ProjectsClientBuilder;
import com.azure.identity.DefaultAzureCredentialBuilder;

String endpoint = "https://<resource-name>.services.ai.azure.com/api/projects/<project-name>";

ProjectsClient projectClient = new ProjectsClientBuilder()
    .credential(new DefaultAzureCredentialBuilder().build())
    .endpoint(endpoint)
    .buildClient();

從你的專案建立一個 OpenAI 相容的客戶端:

OpenAIClient openAIClient = projectClient.getOpenAIClient();

建立專案客戶:

import { AIProjectClient } from '@azure/ai-projects';
import { DefaultAzureCredential } from '@azure/identity';

const endpoint = "https://<resource-name>.services.ai.azure.com/api/projects/<project-name>";
const project = new AIProjectClient(endpoint, new DefaultAzureCredential());

從你的專案建立一個 OpenAI 相容的客戶端:

const openAIClient = await project.getOpenAIClient();

建立專案客戶:

using Azure.AI.Projects.OpenAI; 
using Azure.Identity;
using OpenAI.Responses;

string endpoint = "https://<resource-name>.services.ai.azure.com/api/projects/<project-name>";

AIProjectClient projectClient = new(
    endpoint: new Uri(endpoint), 
    tokenProvider: new DefaultAzureCredential());

從你的專案建立一個 OpenAI 相容的客戶端:

#pragma warning disable OPENAI001
OpenAIResponseClient responseClient = projectClient.OpenAI.GetProjectResponsesClientForModel("gpt-5.2");
OpenAIResponse response = responseClient.CreateResponse("What is the speed of light?");
Console.WriteLine(response.GetOutputText());
#pragma warning restore OPENAI001

你可以用 Foundry SDK 做什麼

OpenAI 開發套件

當你想要完整的 OpenAI API 表層和最大客戶端相容性時,請使用 OpenAI SDK。 此端點可透過聊天完成 API 存取 Azure OpenAI 模型及 Foundry 直接模型。 它不提供 Foundry 專屬的功能,如代理和評估。

從你的專案建立一個 OpenAI 客戶端

這段程式碼使用 AIProjectClient 來請求一個限定於您的專案範圍的 OpenAI 客戶端。

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

以下片段展示了如何直接使用 Azure OpenAI /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://<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)) 

欲了解更多資訊,請參閱 Azure OpenAI 支援程式語言

這段片段是用來 AIProjectClient 向你的 Foundry 專案請求 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-5.2",
    input="What is the size of France in square miles?",
)
print(f"Response output: {response.output_text}")

以下片段展示了如何直接使用 Azure OpenAI /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://<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)) 

欲了解更多資訊,請參閱 Azure OpenAI 支援程式語言

Important

本文中標示為 (預覽) 的項目目前處於公開預覽狀態。 此預覽版本沒有服務等級協定,不建議將其用於生產工作負載。 可能不支援特定功能,或可能已經限制功能。 如需詳細資訊,請參閱 Microsoft Azure 預覽版增補使用條款

這個片段從ProjectsClient中取得OpenAIClient,讓你可以透過 Foundry 發送 OpenAI 請求。

OpenAIClient openAIClient = projectClient.getOpenAIClient();

欲了解更多使用 OpenAI SDK 的資訊,請參閱 Azure OpenAI 支援程式語言

欲了解更多使用 OpenAI SDK 的資訊,請參閱 Azure OpenAI 支援程式語言

這段摘要是利用專案客戶端建立一個 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 套件:

    執行這個指令,將 OpenAI 客戶端函式庫加入你的 .NET 專案。

    dotnet add package OpenAI
    

當它成功時,.NET CLI 會確認已安裝該 OpenAI 套件。

  1. 以下程式碼片段示範如何直接使用 Azure OpenAI v1 端點建立 OpenAI 用戶端。

    此片段用於配置 DefaultAzureCredential,建置 OpenAIClientOptions,並為 Azure OpenAI v1 端點創建 ResponseClient

    using Azure.Identity;
    using Azure.Core;
    using OpenAI;
    using System;
    using System.ClientModel.Primitives;
    
    #pragma warning disable OPENAI001
    
    const string directModelEndpoint  = "https://<resource-name>.openai.azure.com/openai/v1/";
    const string deploymentName = "gpt-5.2";    
    
    BearerTokenPolicy tokenPolicy = new(
        new DefaultAzureCredential(),
        "https://cognitiveservices.azure.com/.default");
    
    OpenAIResponseClient client = new(
        model: deploymentName,
        authenticationPolicy: tokenPolicy, // To use Entra 
     // credential: new ApiKeyCredential("<YOUR-AZURE-OPENAI-API-KEY>") // To use APIKEY 
        options: new OpenAIClientOptions()
        {
            Endpoint = new($"{directModelEndpoint}"),
        });
    ResponseCreationOptions options = new ResponseCreationOptions
    {
        Temperature = (float)0.7,
    };
    
    OpenAIResponse modelDirectResponse = client.CreateResponse(
         [
            ResponseItem.CreateUserMessageItem("What is the size of France in square miles?"),
         ], options);
    
    Console.WriteLine($"[ASSISTANT]: {modelDirectResponse.GetOutputText()}");
    #pragma warning restore OPENAI001
    // The ResponseClient lets you interact with models and services in your project.
    

欲了解更多使用 OpenAI SDK 的資訊,請參閱 Azure OpenAI 支援程式語言

欲了解更多使用 OpenAI SDK 的資訊,請參閱 Azure OpenAI 支援程式語言

使用 Agent Framework 進行本地協調

Microsoft Agent Framework 是一個開源的 SDK,用於以程式碼(例如 .NET 和 Python)建構多代理系統,並具備雲端服務提供者的無關介面。

當你想在本地定義和協調代理時,請使用 Agent Framework。 當你想讓代理程式對 Foundry 模型執行,或想用 Agent Framework 協調 Foundry 中託管的代理時,可以搭配 Foundry SDK 一起使用。

欲了解更多資訊,請參閱 Microsoft 代理框架概述

Foundry Tools SDK

Foundry Tools(前稱 Azure AI Services)是預先建構的點解決方案,配備專用 SDK。 請使用以下端點來使用 Foundry Tools。

你應該使用哪個端點?

根據你的需求選擇端點:

使用 Azure AI Services 端點存取電腦視覺、內容安全、文件智慧、語言、翻譯及代幣鑄造工具。

Foundry Tools 端點: https://<your-resource-name>.cognitiveservices.azure.com/

Note

端點會使用你的資源名稱或自訂子網域。 如果你的組織建立了自訂子網域,請在所有端點範例中替換 your-resource-nameyour-custom-subdomain

針對語音和翻譯 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 工具

鑄造工具 Description 快速入門與參考文件
語音圖示 語音 將語音轉換為文字、語音合成、翻譯和說話者辨識功能新增至應用程式功能。 語音轉文字快速啟動

文字轉語音快速啟動

語音翻譯快速啟動

適用於 .NET 的語音 SDK

語音 NuGet 套件 (語音 CLI)
語言圖示 語言 使用自然語言理解功能建置應用程式。 自訂問答(CQA)快速啟動

實體連結快速入門

語言偵測快速啟動

關鍵詞組擷取快速啟動

偵測命名實體(NER)快速入門

偵測個人識別資訊 (PII) 快速入門 (部分機器翻譯)

情緒分析與意見挖掘快速啟動

使用文字、文件與對話摘要快速啟動

為健康情況使用文字分析快速入門

適用於 .NET 的語言 SDK(文字分析)

語言 NuGet 套件 (文字分析)

適用於 .NET 的語言 SDK(問題解答)

語言 NuGet 套件 (問題解答)
翻譯工具圖示 翻譯工具 使用 AI 支援的翻譯技術來翻譯超過 100 種使用中、高風險和瀕危的語言和方言。 適用於 .NET 的翻譯工具 SDK (文字)

翻譯工具 NuGet 套件 (文字)

適用於 .NET 的翻譯工具 SDK (批次)

翻譯工具 NuGet 套件 (批次)
Azure AI 搜尋圖示 Azure AI 搜尋服務 將 AI 支援的雲端搜尋引進行動應用程式和 Web 應用程式中。 使用 Agent 擷取快速入門 (部分機器翻譯)

向量搜尋快速啟動

經典生成式搜尋(RAG)使用基礎數據快速入門

全文搜尋快速啟動

語意排名快速入門

使用您自己的資料與 Azure OpenAI 模型聊天快速入門

適用於 .NET 的 Azure AI 搜尋 SDK

Azure AI 搜尋 NuGet 套件
內容安全性圖示 內容安全性 偵測應用程式和服務中的有害內容。 分析文字內容快速入門

使用文字封鎖清單快速入門

分析影像內容快速入門

適用於 .NET 的內容安全 SDK

內容安全性 NuGet 套件
文件智慧圖示 文件智慧服務 將檔案轉換成智慧型資料驅動解決方案。 文件智能快速入門

適用於 .NET 的文件智慧 SDK

檔案智慧 NuGet 套件
視覺圖示 視覺 分析數位影像和多媒體資產中的內容。 Foundry Tools 中的 Azure Vision v3.2 GA 讀取快速入門

影像分析快速入門

使用臉部服務快速啟動

適用於 .NET 的視覺 SDK

視覺 NuGet 套件

Java 支援的鑄造工具

鑄造工具 Description 快速入門與參考文件
語音圖示 語音 將語音轉換為文字、語音合成、翻譯和說話者辨識功能新增至應用程式功能。 語音轉文字快速啟動

文字轉語音快速啟動

語音翻譯快速啟動

適用於 Java 的語音 SDK

Speech Maven 套件
語言圖示 語言 使用自然語言理解功能建置應用程式。 實體連結快速入門

語言偵測快速啟動

關鍵詞組擷取快速啟動

偵測命名實體(NER)快速入門

偵測個人識別資訊 (PII) 快速入門 (部分機器翻譯)

情緒分析與意見挖掘快速啟動

使用文字、文件與對話摘要快速啟動

為健康情況使用文字分析快速入門

適用於 Java 的語言 SDK(文字分析)

語言 Maven 套件
翻譯工具圖示 翻譯工具 使用 AI 支援的翻譯技術來翻譯超過 100 種使用中、高風險和瀕危的語言和方言。 適用於 Java 的翻譯工具 SDK(文字)

翻譯工具 Maven 套件 (文字)
Azure AI 搜尋圖示 Azure AI 搜尋服務 將 AI 支援的雲端搜尋引進行動應用程式和 Web 應用程式中。 使用 Agent 擷取快速入門 (部分機器翻譯)

向量搜尋快速啟動

經典生成式搜尋(RAG)使用基礎數據快速入門

全文搜尋快速啟動

語意排名快速入門

使用您自己的資料與 Azure OpenAI 模型聊天快速入門

適用於 Java 的 Azure AI 搜尋 SDK

Azure AI 搜尋服務 Maven 套件
內容安全性圖示 內容安全性 偵測應用程式和服務中的有害內容。 分析文字內容快速入門

使用文字封鎖清單快速入門

分析影像內容快速入門

適用於 Java 的內容安全 SDK

內容安全 Maven 套件
文件智慧圖示 文件智慧服務 將檔案轉換成智慧型資料驅動解決方案。 文件智能快速入門

適用於 Java 的文件智慧 SDK

文件智慧服務 Maven 套件
視覺圖示 視覺 分析數位影像和多媒體資產中的內容。 影像分析快速入門

使用臉部服務快速啟動

適用於 Java 的視覺 SDK

視覺 Maven 套件

支援 JavaScript 的 Foundry 工具

鑄造工具 Description 參考文件
語音圖示 語音 將語音轉換為文字、語音合成、翻譯和說話者辨識功能新增至應用程式功能。 語音轉文字快速啟動

文字轉語音快速啟動

語音翻譯快速啟動

適用於 JavaScript 的語音 SDK

語音 npm 套件
語言圖示 語言 使用自然語言理解功能建置應用程式。 實體連結快速入門

語言偵測快速啟動

關鍵詞組擷取快速啟動

偵測命名實體(NER)快速入門

偵測個人識別資訊 (PII) 快速入門 (部分機器翻譯)

情緒分析與意見挖掘快速啟動

使用文字、文件與對話摘要快速啟動

為健康情況使用文字分析快速入門

適用於 JavaScript 的語言 SDK(文字分析)

語言 npm 套件
翻譯工具圖示 翻譯工具 使用 AI 支援的翻譯技術來翻譯超過 100 種使用中、高風險和瀕危的語言和方言。 適用於 JavaScript 的翻譯工具 SDK(文字)

翻譯工具 npm 套件 (text)
Azure AI 搜尋圖示 Azure AI 搜尋服務 將 AI 支援的雲端搜尋引進行動應用程式和 Web 應用程式中。 使用 Agent 擷取快速入門 (部分機器翻譯)

向量搜尋快速啟動

經典生成式搜尋(RAG)使用基礎數據快速入門

全文搜尋快速啟動

語意排名快速入門

使用您自己的資料與 Azure OpenAI 模型聊天快速入門

適用於 JavaScript 的 Azure AI 搜尋 SDK

Azure AI 搜尋服務 npm 套件
內容安全性圖示 內容安全性 偵測應用程式和服務中的有害內容。 分析文字內容快速入門

使用文字封鎖清單快速入門

分析影像內容快速入門

內容安全性 npm 套件
文件智慧圖示 文件智慧服務 將檔案轉換成智慧型資料驅動解決方案。 文件智能快速入門

適用於 JavaScript 的文件智慧 SDK

文件智能 npm 套件
視覺圖示 視覺 分析數位影像和多媒體資產中的內容。 Foundry Tools 中的 Azure Vision v3.2 GA 讀取快速入門

影像分析快速入門

使用臉部服務快速啟動

適用於 JavaScript 的視覺 SDK

視覺 npm 套件

Python 支援的 Foundry Tools

鑄造工具 Description 快速入門與參考文件
語音圖示 語音 將語音轉換為文字、語音合成、翻譯和說話者辨識功能新增至應用程式功能。 語音轉文字快速啟動

文字轉語音快速啟動

語音翻譯快速啟動

適用於 Python 的語音 SDK

語音 PyPi 套件
語言圖示 語言 使用自然語言理解功能建置應用程式。 自訂問答(CQA)快速啟動

實體連結快速入門

語言偵測快速啟動

關鍵詞組擷取快速啟動

識別命名實體(NER)快速入門

偵測個人識別資訊 (PII) 快速入門 (部分機器翻譯)

情緒分析與意見挖掘快速啟動

使用文字、文件與對話摘要快速啟動

為健康情況使用文字分析快速入門

適用於 Python 的語言 SDK(文字分析)

語言 PyPi 套件 (文字分析)

適用於 Python 的語言 SDK(問題解答)

語言 PyPi 套件 (問題解答)

適用於 Python 的語言 SDK(語言對話)

語言 PyPi 套件 (語言交談)
翻譯工具圖示 翻譯工具 使用 AI 支援的翻譯技術來翻譯超過 100 種使用中、高風險和瀕危的語言和方言。 適用於 Python 的翻譯工具 SDK(文字)

翻譯工具 PyPi 套件 (文字)

適用於 Python 的翻譯 SDK(批次版)

翻譯工具 PyPi 套件 (批次)
Azure AI 搜尋圖示 Azure AI 搜尋服務 將 AI 支援的雲端搜尋引進行動應用程式和 Web 應用程式中。 連線到搜尋服務快速入門

使用 Agent 擷取快速入門 (部分機器翻譯)

向量搜尋快速啟動

經典生成式搜尋(RAG)使用基礎數據快速入門

全文搜尋快速啟動

語意排名快速入門

使用您自己的資料與 Azure OpenAI 模型聊天快速入門

適用於 Python 的 Azure AI 搜尋 SDK

Azure AI 搜尋 PyPi 套件
內容安全性圖示 內容安全性 偵測應用程式和服務中的有害內容。 分析文字內容快速入門

使用文字封鎖清單快速入門

分析影像內容快速入門

適用於 Python 的內容安全 SDK

內容安全性 PyPi 套件
文件智慧圖示 文件智慧服務 將檔案轉換成智慧型資料驅動解決方案。 文件智能快速入門

適用於 Python 的文件智慧 SDK

檔案智慧 PyPi 套件
視覺圖示 視覺 分析數位影像和多媒體資產中的內容。 Foundry Tools 中的 Azure Vision v3.2 GA 讀取快速入門

影像分析快速入門

使用臉部服務快速啟動

適用於 Python 的視覺 SDK

Vision PyPi 套件