Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Visar för närvarande:Foundry-portalversion - (klassisk)Växla till version för den nya Foundry-portalen
En Foundry-resurs ger enhetlig åtkomst till modeller, agenter och verktyg. Den här artikeln förklarar vilken SDK och slutpunkt som ska användas för ditt scenario.
| SDK | Vad det är till för | Slutpunkt |
|---|---|---|
| Foundry SDK | Foundry-specifika funktioner med OpenAI-kompatibla gränssnitt. Innehåller åtkomst till Foundry-direktmodeller via Responses API (inte Chat Completions). | https://<resource-name>.services.ai.azure.com/api/projects/<project-name> |
| OpenAI SDK | De senaste OpenAI SDK-modellerna och funktionerna med den fullständiga OpenAI API-ytan. Direktmodeller från Foundry är tillgängliga via Chat Completions API (inte via Responses). | https://<resource-name>.openai.azure.com/openai/v1 |
| SDK:er för Foundry Tools | Fördefinierade lösningar (vision, tal, innehållssäkerhet med mera). | Verktygsspecifika slutpunkter (varierar beroende på tjänst). |
| Agent Framework | Fleragentorkestrering i kod. Molnagnostisk. | Använder projektslutpunkten via Foundry SDK. |
Välj ditt SDK:
- Använda Foundry SDK när du skapar appar med agenter, utvärderingar eller Foundry-specifika funktioner
- Använd OpenAI SDK när maximal OpenAI-kompatibilitet krävs, eller när man använder Foundry-direktmodeller via Chat Completions
- Använd Foundry Tools SDK:er när du arbetar med specifika AI-tjänster (vision, tal, språk osv.)
- Använda Agent Framework när du skapar system med flera agenter i kod (lokal orkestrering)
Observera
Resurstyper: En Foundry-resurs innehåller alla slutpunkter som tidigare angavs. En Azure OpenAI-resurs tillhandahåller endast slutpunkten /openai/v1.
Authentication: Exempel här använder Microsoft Entra ID (DefaultAzureCredential). API-nycklar fungerar på /openai/v1. Skicka nyckeln som api_key i stället för en tokenprovider.
Förutsättningar
-
Ett Azure konto med en aktiv prenumeration. Om du inte har ett skapar du ett fritt Azure konto, som innehåller en kostnadsfri utvärderingsprenumeration.
Ha någon av följande Azure RBAC-roller för att skapa och hantera Foundry-resurser:
- Azure AI-användare (minst privilegierad roll för utveckling)
- Azure AI Project Manager (för att hantera Foundry-projekt)
- Deltagare eller ägare (för behörigheter på prenumerationsnivå)
Mer information om behörigheter för varje roll finns i Role-baserad åtkomstkontroll för Microsoft Foundry.
Installera nödvändiga språkkörningar, globala verktyg och VS Code-tillägg enligt beskrivningen i Förbereda utvecklingsmiljön.
Viktigt
Kontrollera att utvecklingsmiljön är klar innan du börjar.
Den här artikeln fokuserar på scenariospecifika steg som SDK-installation , autentisering och körning av exempelkod.
Verifiera förutsättningar
Bekräfta innan du fortsätter:
- Azure prenumeration är aktiv:
az account show - Du har den RBAC-roll som krävs. Kontrollera Azure-portalen → Foundry-resurs → Åtkomstkontroll (IAM)
- Språkkörning installerad:
- Python:
python --version(≥3.8)
- Python:
- Språkkörning installerad:
- Node.js:
node --version(≥18)
- Node.js:
- Språkkörning installerad:
- .NET:
dotnet --version(≥6.0)
- .NET:
- Språkkörning installerad:
- Java:
java --version(≥11)
- Java:
Foundry SDK
Foundry SDK ansluter till en enda projektslutpunkt som ger åtkomst till de mest populära Foundry-funktionerna:
https://<resource-name>.services.ai.azure.com/api/projects/<project-name>
Observera
Om din organisation använder en anpassad underdomän ersätter du <resource-name> med <your-custom-subdomain> i slutpunkts-URL:en.
Den här metoden förenklar programkonfigurationen. I stället för att hantera flera slutpunkter konfigurerar du en.
Installera SDK
Observera
Den här artikeln gäller för ett Foundry-projekt. Koden som visas här fungerar inte för ett hubbbaserat projekt. Mer information finns i Typer av projekt.
Observera
SDK-versioner: Den här artikeln beskriver installationen av 1.x SDK. Kontrollera att exemplen som du följer matchar det installerade paketet. Växla till den nya foundry-portaldokumentationen för att visa artikeln för 2.x.
| SDK-version | Portalversion | Status | Python-paket |
|---|---|---|---|
| 2.x | Foundry (ny) | Stabil | azure-ai-projects>=2.0.0 |
| 1.x | Foundry (klassisk) | Stabil | azure-ai-projects==1.0.0 |
Klientbiblioteket Azure AI Projects för Python är ett enhetligt bibliotek som gör att du kan använda flera klientbibliotek tillsammans genom att ansluta till en enda projektslutpunkt.
Kör det här kommandot för att installera 1.x-paketen för klassiska Foundry-projekt.
pip install openai azure-identity azure-ai-projects==1.0.0
| SDK-version | Portalversion | Status | Java-paket |
|---|---|---|---|
| 2.0.0 | Foundry (ny) | Stabil | azure-ai-projectsazure-ai-agents |
| SDK-version | Portalversion | Status | JavaScript-paket |
|---|---|---|---|
| 2.0.1 | Foundry (ny) | Stabil | @azure/ai-projects |
| 1.0.1 | Foundry classic | Stabil | @azure/ai-projects |
| SDK-version | Portalversion | Status | .NET-paket |
|---|---|---|---|
| 2.0.0-beta.1 (förhandsversion) | Foundry (ny) | Förhandsgranska | Azure.AI.ProjectsAzure.AI.Projects.OpenAI |
| 1.1.0 (GA) | Foundry classic | Stabil | Azure.AI.Projects |
Klientbiblioteket Azure AI Projects för Java är ett enhetligt bibliotek som gör att du kan använda flera klientbibliotek tillsammans genom att ansluta till en enda projektslutpunkt.
Viktigt
paketet Java azure-ai-projects har ingen 1.x GA-version. Kodexemplen i de Java avsnitten använder paketet azure-ai-inference direkt, som är inaktuellt och dras tillbaka den 30 maj 2026.
För 2.x Projects SDK växlar du till den nya foundry-portaldokumentationen.
Lägg till dessa beroenden i Maven pom.xml för klassiska Foundry-projekt.
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-ai-inference</artifactId>
<version>1.0.0-beta.6</version>
</dependency>
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-identity</artifactId>
<version>1.18.2</version>
</dependency>
Klientbiblioteket Azure AI Projects för JavaScript är ett enhetligt bibliotek som gör att du kan använda flera klientbibliotek tillsammans genom att ansluta till en enda projektslutpunkt.
Kör det här kommandot för att installera 1.x JavaScript-paketen för klassiska Foundry-projekt.
npm install @azure/ai-projects@1.0.1 @azure/identity
Klientbiblioteket Azure AI Projects för .NET är ett enhetligt bibliotek som gör att du kan använda flera klientbibliotek tillsammans genom att ansluta till en enda projektslutpunkt.
Kör de här kommandona för att lägga till 1.x-Azure AI SDK-paket för klassiska Foundry-projekt.
# Add 1.x Azure AI SDK packages
dotnet add package Azure.Identity
dotnet add package Azure.AI.Projects --version 1.1.0
dotnet add package Azure.AI.Agents.Persistent --version 1.1.0
dotnet add package Azure.AI.Inference
Använda Foundry SDK
SDK:n exponerar två klienttyper eftersom Foundry och OpenAI har olika API-former:
- Project klient – Använd för Foundry-inbyggda åtgärder där OpenAI inte har någon motsvarighet. Exempel: visa anslutningar, hämta projektegenskaper, aktivera spårning.
-
OpenAI-kompatibel klient – Använd för Foundry-funktioner som bygger på OpenAI-begrepp. Svars-API: et, agenter, utvärderingar och finjustering använder alla mönster för begäran/svar i OpenAI-stil. Den här klienten ger dig också åtkomst till Foundry-direktmodeller (icke-Azure-OpenAI modeller som finns i Foundry). Projektslutpunkten hanterar den här trafiken på
/openaivägen.
De flesta appar använder båda klienterna. Använd projektklienten för konfiguration och använd sedan Den OpenAI-kompatibla klienten för att köra agenter, utvärderingar och anropa modeller (inklusive Foundry-direktmodeller).
Skapa en projektklient:
from azure.ai.projects import AIProjectClient
from azure.identity import DefaultAzureCredential
project_client = AIProjectClient(
endpoint="https://<resource-name>.services.ai.azure.com/api/projects/<project-name>",
credential=DefaultAzureCredential(),
)
Skapa en OpenAI-kompatibel klient från projektet:
models = project_client.get_openai_client(api_version="2024-10-21")
chat_responses = models.chat.completions.create(
model="gpt-4o",
messages=[
{"role": "system", "content": "You are a helpful assistant"},
{"role": "user", "content": "What is the size of France in square miles?"},
],
)
print(chat_responses.choices[0].message.content)
Skapa en projektklient:
package com.azure.ai.foundry.samples;
import com.azure.ai.inference.ChatCompletionsClient;
import com.azure.ai.inference.ChatCompletionsClientBuilder;
import com.azure.ai.inference.models.ChatCompletions;
import com.azure.core.credential.AzureKeyCredential;
import com.azure.core.credential.TokenCredential;
import com.azure.core.exception.HttpResponseException;
import com.azure.core.util.logging.ClientLogger;
import com.azure.identity.DefaultAzureCredentialBuilder;
String prompt = "What best practices should I follow when asking an AI model to review Java code?";
String endpoint = "https://<resource-name>.services.ai.azure.com/api/projects/<project-name>";
TokenCredential credential = new DefaultAzureCredentialBuilder().build();
ChatCompletionsClient client = new ChatCompletionsClientBuilder()
.credential(credential)
.endpoint(endpoint)
.buildClient();
```**Create and use an OpenAI-compatible client from your project:**
```java
ChatCompletions completions = client.complete(prompt);
String content = completions.getChoice().getMessage().getContent();
System.out.println("\nResponse from AI assistant:\n" + content);
Skapa en projektklient:
const endpoint = "https://<resource-name>.services.ai.azure.com/api/projects/<project-name>";
const deployment = "gpt-4o";
const project = new AIProjectClient(endpoint, new DefaultAzureCredential());
Skapa en OpenAI-kompatibel klient från projektet:
const client = await project.getAzureOpenAIClient({
// The API version should match the version of the Azure OpenAI resource
apiVersion: "2024-12-01-preview"
});
const chatCompletion = await client.chat.completions.create({
model: deployment,
messages: [
{ role: "system", content: "You are a helpful assistant" },
{ role: "user", content: "What is the speed of light?" },
],
});
console.log(chatCompletion.choices[0].message.content);
Skapa en projektklient:
using System.ClientModel.Primitives;
using Azure.AI.OpenAI;
using Azure.AI.Projects;
using Azure.Identity;
using OpenAI.Chat;
string endpoint = "https://<resource-name>.services.ai.azure.com/api/projects/<project-name>";
AIProjectClient projectClient = new AIProjectClient(new Uri(endpoint), new DefaultAzureCredential());
Skapa en OpenAI-kompatibel klient från projektet:
ClientConnection connection = projectClient.GetConnection(typeof(AzureOpenAIClient).FullName!);
if (!connection.TryGetLocatorAsUri(out Uri uri) || uri is null)
{
throw new InvalidOperationException("Invalid URI.");
}
uri = new Uri($"https://{uri.Host}");
const string modelDeploymentName = "gpt-4o";
AzureOpenAIClient azureOpenAIClient = new AzureOpenAIClient(uri, new DefaultAzureCredential());
ChatClient chatClient = azureOpenAIClient.GetChatClient(deploymentName: modelDeploymentName);
Console.WriteLine("Complete a chat");
ChatCompletion result = chatClient.CompleteChat("List all the rainbow colors");
Console.WriteLine(result.Content[0].Text);
Vad du kan göra med Foundry SDK
- Access Foundry Models, inklusive Azure OpenAI
- Använd Foundry Agent-tjänsten
- Köra molnutvärderingar
- Aktivera appspårning
- Finjustera en modell
- Hämta slutpunkter och nycklar för Foundry Tools, lokal orkestrering med mera
Felsökning
Autentiseringsfel
Om du ser DefaultAzureCredential failed to retrieve a token:
Verifiera att Azure CLI är autentiserad:
az account show az login # if not logged inKontrollera RBAC-rolltilldelning:
- Bekräfta att du har åtminstone rollen Azure AI-användare på Foundry-projektet
- Se Tilldela Azure roller
För hanterad identitet i produktion:
- Kontrollera att den hanterade identiteten har tilldelats rätt roll
- Se Konfigurera hanterade identiteter
Fel i slutpunktskonfigurationen
Om du ser Connection refused eller 404 Not Found:
- Kontrollera att resurs- och projektnamnen matchar din faktiska distribution
-
Kontrollera formatet för slutpunkts-URL: Bör vara
https://<resource-name>.services.ai.azure.com/api/projects/<project-name> -
För anpassade underdomäner: Ersätt
<resource-name>med din anpassade underdomän
SDK-versionsmatchningar
Om kodexempel misslyckas med AttributeError eller ModuleNotFoundError:
Kontrollera SDK-versionen:
pip show azure-ai-projects # Python npm list @azure/ai-projects # JavaScript dotnet list package # .NETInstallera om med rätt versionsflaggor: Se installationskommandon i varje språkavsnitt ovan
OpenAI SDK
Använd OpenAI SDK när du vill ha den fullständiga OpenAI API-ytan och maximal klientkompatibilitet. Den här slutpunkten ger åtkomst till Azure OpenAI-modeller och Foundry-direktmodeller (via API för chattslutsättningar). Den ger inte åtkomst till Foundry-specifika funktioner som agenter och utvärderingar.
Följande kodfragment visar hur du använder Azure OpenAI /openai/v1 slutpunkt direkt.
from openai import OpenAI
from azure.identity import DefaultAzureCredential, get_bearer_token_provider
token_provider = get_bearer_token_provider(
DefaultAzureCredential(), "https://ai.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))
Mer information finns i Azure Programmeringsspråk som stöds av OpenAI. Förväntade utdata:
{
"id": "resp_abc123",
"object": "response",
"created": 1234567890,
"model": "gpt-5.2",
"output_text": "France has an area of approximately 213,011 square miles (551,695 square kilometers)."
}
Mer information finns i Azure Programmeringsspråk som stöds av OpenAI
Viktigt
Objekt markerade (förhandsversion) i den här artikeln är för närvarande i offentlig förhandsversion. Den här förhandsversionen tillhandahålls utan ett serviceavtal och vi rekommenderar det inte för produktionsarbetsbelastningar. Vissa funktioner kanske inte stöds eller har begränsade funktioner. Mer information finns i Supplemental Terms of Use for Microsoft Azure Previews.
Följande kodfragment visar hur du använder Azure OpenAI /openai/v1 slutpunkt direkt.
import com.azure.ai.openai.OpenAIClient;
import com.azure.ai.openai.OpenAIClientBuilder;
import com.azure.ai.openai.models.ChatChoice;
import com.azure.ai.openai.models.ChatCompletions;
import com.azure.ai.openai.models.ChatCompletionsOptions;
import com.azure.ai.openai.models.ChatRequestAssistantMessage;
import com.azure.ai.openai.models.ChatRequestMessage;
import com.azure.ai.openai.models.ChatRequestSystemMessage;
import com.azure.ai.openai.models.ChatRequestUserMessage;
import com.azure.ai.openai.models.ChatResponseMessage;
import com.azure.core.credential.AzureKeyCredential;
import com.azure.core.util.Configuration;
import java.util.ArrayList;
import java.util.List;
String endpoint = "https://<resource-name>.openai.azure.com/openai/v1";
String deploymentName = "gpt-5.2";
TokenCredential defaultCredential = new DefaultAzureCredentialBuilder().build();
OpenAIClient client = new OpenAIClientBuilder()
.credential(defaultCredential)
.endpoint("{endpoint}")
.buildClient();
List<ChatRequestMessage> chatMessages = new ArrayList<>();
chatMessages.add(new ChatRequestSystemMessage("You are a helpful assistant."));
chatMessages.add(new ChatRequestUserMessage("What is the speed of light?"));
ChatCompletions chatCompletions = client.getChatCompletions(deploymentName, new ChatCompletionsOptions(chatMessages));
System.out.printf("Model ID=%s is created at %s.%n", chatCompletions.getId(), chatCompletions.getCreatedAt());
for (ChatChoice choice : chatCompletions.getChoices()) {
ChatResponseMessage message = choice.getMessage();
System.out.printf("Index: %d, Chat Role: %s.%n", choice.getIndex(), message.getRole());
System.out.println("Message:");
System.out.println(message.getContent());
Mer information om hur du använder OpenAI SDK finns i Azure OpenAI-programmeringsspråk som stöds.
import { AzureOpenAI } from "openai";
import { DefaultAzureCredential, getBearerTokenProvider } from "@azure/identity";
const deployment = "gpt-4o";
const endpoint = "https://<resource-name>.openai.azure.com";
const scope = "https://ai.azure.com/.default";
const apiVersion = "2024-04-01-preview";
const azureADTokenProvider = getBearerTokenProvider(new DefaultAzureCredential(), scope);
const options = { azureADTokenProvider, deployment, apiVersion, endpoint };
const client = new AzureOpenAI(options);
const result = await client.chat.completions.create({
model: deployment,
messages: [
{ role: "system", content: "You are a helpful assistant" },
{ role: "user", content: "What is the speed of light?" },
],
});
console.log(result.choices[0].message.content);
Mer information om hur du använder OpenAI SDK finns i Azure OpenAI-programmeringsspråk som stöds.
- Installera OpenAI-paketet: Kör det här kommandot för att lägga till OpenAI-klientbiblioteket i ditt .NET projekt.
dotnet add package OpenAI ```When it succeeds, the .NET CLI confirms that it installed the `OpenAI` package. This snippet configures `DefaultAzureCredential`, builds `OpenAIClientOptions`, and creates a `ChatClient` for the Azure OpenAI v1 endpoint. ```csharp using System.ClientModel.Primitives; using Azure.Identity; using OpenAI; using OpenAI.Chat; #pragma warning disable OPENAI001 const string directModelEndpoint = "https://<resource-name>.openai.azure.com/openai/v1/"; const string modelDeploymentName = "gpt-5.2"; BearerTokenPolicy tokenPolicy = new( new DefaultAzureCredential(), "https://ai.azure.com/.default"); OpenAIClient openAIClient = new( authenticationPolicy: tokenPolicy, options: new OpenAIClientOptions() { Endpoint = new($"{directModelEndpoint}"), }); ChatClient chatClient = openAIClient.GetChatClient(modelDeploymentName); ChatCompletion completion = await chatClient.CompleteChatAsync( [ new SystemChatMessage("You are a helpful assistant."), new UserChatMessage("How many feet are in a mile?") ]); Console.WriteLine(completion.Content[0].Text); #pragma warning restore OPENAI001
Mer information om hur du använder OpenAI SDK finns i Azure OpenAI-programmeringsspråk som stöds.
Använda Agent Framework för lokal orkestrering
Microsoft Agent Framework är en SDK med öppen källkod för att skapa multiagentsystem i kod (till exempel .NET och Python) med ett molnleverantörsagnostiskt gränssnitt.
Använd Agent Framework när du vill definiera och samordna agenter lokalt. Koppla den till Foundry SDK när du vill att dessa agenter ska köras mot Foundry-modeller eller när du vill att Agent Framework ska orkestrera agenter som finns i Foundry.
Mer information finns i översikten Microsoft Agent Framework.
SDK:er för Foundry Tools
Foundry Tools (tidigare Azure AI Services) är fördefinierade punktlösningar med dedikerade SDK:er. Använd följande slutpunkter för att arbeta med Foundry Tools.
Vilken slutpunkt ska du använda?
Välj en slutpunkt baserat på dina behov:
Använd slutpunkten Azure AI Services för att få åtkomst till Visuellt innehåll, Content Safety, Document Intelligence, Language, Translation och Token Foundry Tools.
Slutpunkt för Foundry Tools: https://<your-resource-name>.cognitiveservices.azure.com/
Observera
Slutpunkter använder antingen ditt resursnamn eller en anpassad underdomän. Om din organisation har konfigurerat en anpassad underdomän ersätter du your-resource-name med your-custom-subdomain i alla slutpunktsexempel.
Om dina arbetsbelastningar använder avsatta Azure AI-språk-funktioner – till exempel attitydanalys, extrahering av nyckelfraser, sammanfattning, entitetslänkning, CLU eller CQA – bör du planera att migrera till Microsoft Foundry-alternativ. För ny utveckling bör du överväga att använda Foundry SDK eller den OpenAI-kompatibla slutpunkten enligt beskrivningen tidigare i den här artikeln. Se Migrera från Language Studio till Microsoft Foundry.
För Verktyg för tal- och översättningsgjuteri använder du slutpunkterna i följande tabeller. Ersätt platshållarna med din resursinformation.
Talgränssnitt
| Gjutningsverktyg | Slutpunkt |
|---|---|
| Tal till text (standard) | https://<YOUR-RESOURCE-REGION>.stt.speech.microsoft.com |
| Text till tal (neurala) | https://<YOUR-RESOURCE-REGION>.tts.speech.microsoft.com |
| Anpassad röst | https://<YOUR-RESOURCE-NAME>.cognitiveservices.azure.com/ |
Översättningsslutpunkter
| Gjutningsverktyg | Slutpunkt |
|---|---|
| Textöversättning | https://api.cognitive.microsofttranslator.com/ |
| Dokumentöversättning | https://<YOUR-RESOURCE-NAME>.cognitiveservices.azure.com/ |
Språkslutpunkter
| Gjutningsverktyg | Slutpunkt |
|---|---|
| Textanalys | https://<YOUR-RESOURCE-NAME>.cognitiveservices.azure.com |
Viktigt
Den 20 mars 2027 kommer Azure Language Studio att dra tillbaka och migrera till Microsoft Foundry. Alla funktioner och framtida förbättringar kommer att vara tillgängliga i Microsoft Foundry.
Den 31 mars 2029 upphör följande Azure Language-funktioner (supporten upphör). Före det datumet bör användarna migrera befintliga arbetsbelastningar och registrera nya projekt till Microsoft Foundry-modeller för förbättrad förståelse av naturligt språk och förenklad programintegrering:
- Extrahering av nyckelfras
- Sentimentanalys och åsiktsutvinning
- Anpassad textklassificering
- Konversationell språkförståelse (CLU)
- Svar på anpassad fråga (CQA)
- Arbetsflöde för orkestrering
- Sammanfattning (extraktiv och abstrakt, för dokument och konversationer)
- Entitetslänkning
Grundläggande funktioner med fortsatt stöd: Språkidentifiering, PII-identifiering, Text Analytics för hälsa, fördefinierad NER och anpassad NER.
Migreringsalternativ finns i Migrera från Language Studio till Microsoft Foundry.