Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Azure AI Foundry Agent Service vous permet de créer des agents IA adaptés à vos besoins via des instructions personnalisées et augmentées par des outils avancés tels que l’interpréteur de code et les fonctions personnalisées.
Conditions préalables
- Un abonnement Azure : créez-en un gratuitement.
- Vérifiez que la personne qui crée le compte et le projet a le rôle Propriétaire du compte Azure AI dans l’étendue de l’abonnement
- Vous pouvez également disposer du rôle Contributeur ou du rôle Contributeur Cognitive Services au niveau de l’abonnement, ce qui satisfait également à cette exigence.
Important
Le portail Azure AI Foundry ne prend en charge que l’agent de base défini pour l’instant. Si vous souhaitez effectuer une configuration d’agent standard, consultez l’article sur la configuration de l’environnement pour en savoir plus.
Créer un compte et un projet Foundry dans le portail Azure AI Foundry
Pour créer un compte et un projet dans Azure AI Foundry, procédez comme suit :
Accédez à Azure AI Foundry. Si vous êtes dans un projet, sélectionnez Azure AI Foundry en haut à gauche de la page pour accéder à la page d’Accueil.
Utilisez le flux de création de l’agent pour l’expérience la plus rapide. Cliquez sur Créer un agent.
Entrez un nom pour le projet. Si vous souhaitez personnaliser les valeurs par défaut, sélectionnez Options avancées.
Cliquez sur Créer.
Attendez que vos ressources soient approvisionnées.
- Un compte et un projet (ressource enfant de votre compte) sont créés.
- Le modèle gpt-4o sera automatiquement déployé
- Un agent par défaut est créé
Une fois terminé, vous atterrirez directement dans le terrain de jeu de l’agent et vous pouvez commencer à créer des agents.
Remarque
Si vous obtenez une erreur d’autorisation lors de la tentative de configuration ou de création d’agents, vérifiez que vous disposez de l’utilisateur Azure AI sur le projet.
| Documentation de référence | Exemples | Code source de la bibliothèque | Package (NuGet) |
Conditions préalables
- Un environnement d’agent de configuration
- Attribuer le rôle RBACutilisateur Azure AI à chaque membre de l’équipe qui doit créer ou modifier des agents à l’aide du Kit de développement logiciel (SDK) ou de l’agent Playground
- Ce rôle doit être attribué à l’étendue du projet
- Autorisations minimales requises : agents/*/read, agents/*/action, agents/*/delete
Configurer et exécuter un agent
Composant | Descriptif |
---|---|
Agent | IA personnalisée qui utilise des modèles d’IA conjointement avec des outils. |
Outil | Les outils permettent d’étendre la capacité d’un agent à répondre de manière fiable et exacte pendant la conversation. Par exemple, connecter des bases de connaissances définies par l’utilisateur pour fournir des bases au modèle ou permettre à la recherche web de fournir des informations à jour. |
Fil de discussion | Session de conversation entre un agent et un utilisateur. Les threads stockent les messages et gèrent automatiquement la troncature pour adapter le contenu au contexte d'un modèle. |
Message | Message créé par un agent ou un utilisateur. Les messages peuvent contenir du texte, des images et d’autres fichiers. Les messages sont stockés sous forme de liste dans le thread. |
Courir | Activation d’un agent pour qu’il commence à s’exécuter sur la base du contenu du thread. L’agent utilise sa configuration et les messages du thread pour effectuer des tâches en appelant des modèles et des outils. Dans le cadre d’une exécution, l’agent ajoute des messages au thread. |
Créez un projet console .NET.
dotnet new console
Installez le package .NET dans votre projet. Par exemple, si vous utilisez l’interface de ligne de commande de .NET, exécutez la commande suivante.
dotnet add package Azure.AI.Agents.Persistent
dotnet add package Azure.Identity
Ensuite, pour authentifier vos demandes d’API et exécuter le programme, utilisez la commande az login pour vous connecter à votre abonnement Azure.
az login
Utilisez le code suivant pour créer et exécuter un agent. Pour exécuter ce code, vous devez obtenir le point de terminaison de votre projet. Cette chaîne est dans le format suivant :
https://<AIFoundryResourceName>.services.ai.azure.com/api/projects/<ProjectName>
Vous trouverez votre point de terminaison dans la vue d’ensemble de votre projet dans le portail Azure AI Foundry, sous Bibliothèques>Azure AI Foundry.
Par exemple, votre point de terminaison peut ressembler à ceci :
https://myresource.services.ai.azure.com/api/projects/myproject
Définissez ce point de terminaison dans une variable d’environnement nommée ProjectEndpoint
.
Vous avez également besoin du nom de déploiement de votre modèle. Vous pouvez le trouver dans Modèles + Points de terminaison dans le menu de navigation de gauche.
Enregistrez le nom de votre nom de déploiement de modèle en tant que variable d’environnement nommée ModelDeploymentName
.
using Azure;
using Azure.AI.Agents.Persistent;
using Azure.Identity;
using Microsoft.Extensions.Configuration;
using System.Diagnostics;
IConfigurationRoot configuration = new ConfigurationBuilder()
.SetBasePath(AppContext.BaseDirectory)
.AddJsonFile("appsettings.json", optional: false, reloadOnChange: true)
.Build();
var projectEndpoint = configuration["ProjectEndpoint"];
var modelDeploymentName = configuration["ModelDeploymentName"];
//Create a PersistentAgentsClient and PersistentAgent.
PersistentAgentsClient client = new(projectEndpoint, new DefaultAzureCredential());
//Give PersistentAgent a tool to execute code using CodeInterpreterToolDefinition.
PersistentAgent agent = client.Administration.CreateAgent(
model: modelDeploymentName,
name: "My Test Agent",
instructions: "You politely help with math questions. Use the code interpreter tool when asked to visualize numbers.",
tools: [new CodeInterpreterToolDefinition()]
);
//Create a thread to establish a session between Agent and a User.
PersistentAgentThread thread = client.Threads.CreateThread();
//Ask a question of the Agent.
client.Messages.CreateMessage(
thread.Id,
MessageRole.User,
"Hi, Agent! Draw a graph for a line with a slope of 4 and y-intercept of 9.");
//Have Agent beging processing user's question with some additional instructions associated with the ThreadRun.
ThreadRun run = client.Runs.CreateRun(
thread.Id,
agent.Id,
additionalInstructions: "Please address the user as Jane Doe. The user has a premium account.");
//Poll for completion.
do
{
Thread.Sleep(TimeSpan.FromMilliseconds(500));
run = client.Runs.GetRun(thread.Id, run.Id);
}
while (run.Status == RunStatus.Queued
|| run.Status == RunStatus.InProgress
|| run.Status == RunStatus.RequiresAction);
//Get the messages in the PersistentAgentThread. Includes Agent (Assistant Role) and User (User Role) messages.
Pageable<PersistentThreadMessage> messages = client.Messages.GetMessages(
threadId: thread.Id,
order: ListSortOrder.Ascending);
//Display each message and open the image generated using CodeInterpreterToolDefinition.
foreach (PersistentThreadMessage threadMessage in messages)
{
foreach (MessageContent content in threadMessage.ContentItems)
{
switch (content)
{
case MessageTextContent textItem:
Console.WriteLine($"[{threadMessage.Role}]: {textItem.Text}");
break;
case MessageImageFileContent imageFileContent:
Console.WriteLine($"[{threadMessage.Role}]: Image content file ID = {imageFileContent.FileId}");
BinaryData imageContent = client.Files.GetFileContent(imageFileContent.FileId);
string tempFilePath = Path.Combine(AppContext.BaseDirectory, $"{Guid.NewGuid()}.png");
File.WriteAllBytes(tempFilePath, imageContent.ToArray());
client.Files.DeleteFile(imageFileContent.FileId);
ProcessStartInfo psi = new()
{
FileName = tempFilePath,
UseShellExecute = true
};
Process.Start(psi);
break;
}
}
}
//Clean up test resources.
client.Threads.DeleteThread(threadId: thread.Id);
client.Administration.DeleteAgent(agentId: agent.Id);
| Documentation de référence | Exemples | Code source de la bibliothèque | Package (PyPi) |
Conditions préalables
- Un environnement d’agent de configuration
- Attribuer le rôle RBACutilisateur Azure AI à chaque membre de l’équipe qui doit créer ou modifier des agents à l’aide du Kit de développement logiciel (SDK) ou de l’agent Playground
- Ce rôle doit être attribué à l’étendue du projet
- Autorisations minimales requises : agents/*/read, agents/*/action, agents/*/delete
Configurer et exécuter un agent
Composant | Descriptif |
---|---|
Agent | IA personnalisée qui utilise des modèles d’IA conjointement avec des outils. |
Outil | Les outils permettent d’étendre la capacité d’un agent à répondre de manière fiable et exacte pendant la conversation. Par exemple, connecter des bases de connaissances définies par l’utilisateur pour fournir des bases au modèle ou permettre à la recherche web de fournir des informations à jour. |
Fil de discussion | Session de conversation entre un agent et un utilisateur. Les threads stockent les messages et gèrent automatiquement la troncature pour adapter le contenu au contexte d'un modèle. |
Message | Message créé par un agent ou un utilisateur. Les messages peuvent contenir du texte, des images et d’autres fichiers. Les messages sont stockés sous forme de liste dans le thread. |
Courir | Activation d’un agent pour qu’il commence à s’exécuter sur la base du contenu du thread. L’agent utilise sa configuration et les messages du thread pour effectuer des tâches en appelant des modèles et des outils. Dans le cadre d’une exécution, l’agent ajoute des messages au thread. |
Étape d’exécution | Liste détaillée des étapes que l’agent a suivies dans le cadre d'une opération. Un agent peut appeler des outils ou créer des messages pendant son exécution. La révision des étapes d'exécution vous permet de comprendre comment l’agent obtient ses résultats. |
Exécutez les commandes suivantes pour installer les packages Python.
pip install azure-ai-projects
pip install azure-identity
Ensuite, pour authentifier vos demandes d’API et exécuter le programme, utilisez la commande az login pour vous connecter à votre abonnement Azure.
az login
Utilisez le code suivant pour créer et exécuter un agent. Pour exécuter ce code, vous devez obtenir le point de terminaison de votre projet. Cette chaîne est dans le format suivant :
https://<AIFoundryResourceName>.services.ai.azure.com/api/projects/<ProjectName>
Vous trouverez votre point de terminaison dans la vue d’ensemble de votre projet dans le portail Azure AI Foundry, sous Bibliothèques>Azure AI Foundry.
Par exemple, votre point de terminaison peut ressembler à ceci :
https://myresource.services.ai.azure.com/api/projects/myproject
Définissez ce point de terminaison en tant que variable d’environnement nommée PROJECT_ENDPOINT
.
import os
from azure.ai.projects import AIProjectClient
from azure.identity import DefaultAzureCredential
from azure.ai.agents.models import CodeInterpreterTool
# Create an Azure AI Client from an endpoint, copied from your Azure AI Foundry project.
# You need to login to Azure subscription via Azure CLI and set the environment variables
project_endpoint = os.environ["PROJECT_ENDPOINT"] # Ensure the PROJECT_ENDPOINT environment variable is set
# Create an AIProjectClient instance
project_client = AIProjectClient(
endpoint=project_endpoint,
credential=DefaultAzureCredential(), # Use Azure Default Credential for authentication
)
code_interpreter = CodeInterpreterTool()
with project_client:
# Create an agent with the Bing Grounding tool
agent = project_client.agents.create_agent(
model=os.environ["MODEL_DEPLOYMENT_NAME"], # Model deployment name
name="my-agent", # Name of the agent
instructions="You are a helpful agent", # Instructions for the agent
tools=code_interpreter.definitions, # Attach the tool
)
print(f"Created agent, ID: {agent.id}")
# Create a thread for communication
thread = project_client.agents.threads.create()
print(f"Created thread, ID: {thread.id}")
# Add a message to the thread
message = project_client.agents.messages.create(
thread_id=thread.id,
role="user", # Role of the message sender
content="What is the weather in Seattle today?", # Message content
)
print(f"Created message, ID: {message['id']}")
# Create and process an agent run
run = project_client.agents.runs.create_and_process(thread_id=thread.id, agent_id=agent.id)
print(f"Run finished with status: {run.status}")
# Check if the run failed
if run.status == "failed":
print(f"Run failed: {run.last_error}")
# Fetch and log all messages
messages = project_client.agents.messages.list(thread_id=thread.id)
for message in messages:
print(f"Role: {message.role}, Content: {message.content}")
# Delete the agent when done
project_client.agents.delete_agent(agent.id)
print("Deleted agent")
| Documentation de référence | Exemples | Code source de la bibliothèque | Package (npm) |
Conditions préalables
- Un environnement d’agent de configuration
- Attribuer le rôle RBACutilisateur Azure AI à chaque membre de l’équipe qui doit créer ou modifier des agents à l’aide du Kit de développement logiciel (SDK) ou de l’agent Playground
- Ce rôle doit être attribué à l’étendue du projet
- Autorisations minimales requises : agents/*/read, agents/*/action, agents/*/delete
Configurer et exécuter un agent
Composant | Descriptif |
---|---|
Agent | IA personnalisée qui utilise des modèles IA avec des outils. |
Outil | Les outils permettent d’étendre la capacité d’un agent à répondre de manière fiable et exacte pendant la conversation. Par exemple, connecter des bases de connaissances définies par l’utilisateur pour fournir des bases au modèle ou permettre à la recherche web de fournir des informations à jour. |
Fil de discussion | Session de conversation entre un agent et un utilisateur. Les threads stockent les messages et gèrent automatiquement la troncature pour adapter le contenu au contexte d'un modèle. |
Message | Message créé par un agent ou un utilisateur. Les messages peuvent contenir du texte, des images et d’autres fichiers. Les messages sont stockés sous forme de liste dans le thread. |
Courir | Activation d’un agent pour qu’il commence à s’exécuter sur la base du contenu du thread. L’agent utilise sa configuration et les messages du thread pour effectuer des tâches en appelant des modèles et des outils. Dans le cadre d’une exécution, l’agent ajoute des messages au thread. |
Étape d’exécution | Liste détaillée des étapes que l’agent a suivies dans le cadre d'une opération. Un agent peut appeler des outils ou créer des messages pendant son exécution. La révision des étapes d'exécution vous permet de comprendre comment l’agent obtient ses résultats. |
Les objets clés de ce code sont les suivants :
Tout d’abord, initialisez un nouveau projet en exécutant :
npm init -y
Exécutez les commandes suivantes pour installer les packages npm requis.
npm install @azure/ai-agents @azure/identity
npm install dotenv
Ensuite, pour authentifier vos demandes d’API et exécuter le programme, utilisez la commande az login pour vous connecter à votre abonnement Azure.
az login
Utilisez le code suivant pour créer et exécuter un agent qui charge un fichier CSV de données, puis génère un graphique à barres à partir de ces données. Pour exécuter ce code, vous devez obtenir le point de terminaison de votre projet. Cette chaîne est dans le format suivant :
https://<AIFoundryResourceName>.services.ai.azure.com/api/projects/<ProjectName>
Vous trouverez votre point de terminaison dans la vue d’ensemble de votre projet dans le portail Azure AI Foundry, sous Bibliothèques>Azure AI Foundry.
Par exemple, votre point de terminaison ressemble à ceci :
https://myresource.services.ai.azure.com/api/projects/myproject
Définissez ce point de terminaison en tant que variable d’environnement nommée PROJECT_ENDPOINT
dans un .env
fichier.
Important
- Ce code de démarrage rapide utilise des variables d’environnement pour la configuration sensible. Ne soumettez jamais votre fichier
.env
au contrôle de version en vous assurant que.env
est répertorié dans votre fichier.gitignore
. - N’oubliez pas : si vous validez accidentellement des informations sensibles, considérez ces identifiants comme compromis et changez-les immédiatement.
Ensuite, créez un index.js
fichier et collez-le dans le code suivant :
// Copyright (c) Microsoft Corporation.
// Licensed under the MIT License.
/**
* This sample demonstrates how to use agent operations with code interpreter from the Azure Agents service.
*
* @summary demonstrates how to use agent operations with code interpreter.
*/
// @ts-nocheck
import type {
MessageDeltaChunk,
MessageDeltaTextContent,
MessageImageFileContent,
MessageTextContent,
ThreadRun,
} from "@azure/ai-agents";
import {
RunStreamEvent,
MessageStreamEvent,
DoneEvent,
ErrorEvent,
AgentsClient,
isOutputOfType,
ToolUtility,
} from "@azure/ai-agents";
import { DefaultAzureCredential } from "@azure/identity";
import * as fs from "fs";
import path from "node:path";
import "dotenv/config";
const projectEndpoint = process.env["PROJECT_ENDPOINT"] || "<project endpoint>";
const modelDeploymentName = process.env["MODEL_DEPLOYMENT_NAME"] || "gpt-4o";
export async function main(): Promise<void> {
// Create an Azure AI Client
const client = new AgentsClient(projectEndpoint, new DefaultAzureCredential());
// Upload file and wait for it to be processed
const filePath = "./data/nifty500QuarterlyResults.csv";
const localFileStream = fs.createReadStream(filePath);
const localFile = await client.files.upload(localFileStream, "assistants", {
fileName: "myLocalFile",
});
console.log(`Uploaded local file, file ID : ${localFile.id}`);
// Create code interpreter tool
const codeInterpreterTool = ToolUtility.createCodeInterpreterTool([localFile.id]);
// Notice that CodeInterpreter must be enabled in the agent creation, otherwise the agent will not be able to see the file attachment
const agent = await client.createAgent(modelDeploymentName, {
name: "my-agent",
instructions: "You are a helpful agent",
tools: [codeInterpreterTool.definition],
toolResources: codeInterpreterTool.resources,
});
console.log(`Created agent, agent ID: ${agent.id}`);
// Create a thread
const thread = await client.threads.create();
console.log(`Created thread, thread ID: ${thread.id}`);
// Create a message
const message = await client.messages.create(
thread.id,
"user",
"Could you please create a bar chart in the TRANSPORTATION sector for the operating profit from the uploaded CSV file and provide the file to me?",
);
console.log(`Created message, message ID: ${message.id}`);
// Create and execute a run
const streamEventMessages = await client.runs.create(thread.id, agent.id).stream();
for await (const eventMessage of streamEventMessages) {
switch (eventMessage.event) {
case RunStreamEvent.ThreadRunCreated:
console.log(`ThreadRun status: ${(eventMessage.data as ThreadRun).status}`);
break;
case MessageStreamEvent.ThreadMessageDelta:
{
const messageDelta = eventMessage.data as MessageDeltaChunk;
messageDelta.delta.content.forEach((contentPart) => {
if (contentPart.type === "text") {
const textContent = contentPart as MessageDeltaTextContent;
const textValue = textContent.text?.value || "No text";
console.log(`Text delta received:: ${textValue}`);
}
});
}
break;
case RunStreamEvent.ThreadRunCompleted:
console.log("Thread Run Completed");
break;
case ErrorEvent.Error:
console.log(`An error occurred. Data ${eventMessage.data}`);
break;
case DoneEvent.Done:
console.log("Stream completed.");
break;
}
}
// Delete the original file from the agent to free up space (note: this does not delete your version of the file)
await client.files.delete(localFile.id);
console.log(`Deleted file, file ID : ${localFile.id}`);
// Print the messages from the agent
const messagesIterator = client.messages.list(thread.id);
const messagesArray = [];
for await (const m of messagesIterator) {
messagesArray.push(m);
}
console.log("Messages:", messagesArray);
// Get most recent message from the assistant
// Get most recent message from the assistant
const assistantMessage = messagesArray.find((msg) => msg.role === "assistant");
if (assistantMessage) {
// Look for an image file in the assistant's message
const imageFileOutput = assistantMessage.content.find(content =>
content.type === "image_file" && content.imageFile?.fileId);
if (imageFileOutput) {
try {
// Save the newly created file
console.log(`Saving new files...`);
const imageFile = imageFileOutput.imageFile.fileId;
const imageFileName = path.resolve(
"./data/" + (await client.files.get(imageFile)).filename + "ImageFile.png",
);
console.log(`Image file name : ${imageFileName}`);
const fileContent = await client.files.getContent(imageFile).asNodeStream();
if (fileContent && fileContent.body) {
const chunks = [];
for await (const chunk of fileContent.body) {
chunks.push(Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk));
}
const buffer = Buffer.concat(chunks);
fs.writeFileSync(imageFileName, buffer);
console.log(`Successfully saved image to ${imageFileName}`);
} else {
console.error("No file content available in the response");
}
} catch (error) {
console.error("Error saving image file:", error);
}
} else {
console.log("No image file found in assistant's message");
}
} else {
console.log("No assistant message found");
}
// Iterate through messages and print details for each annotation
console.log(`Message Details:`);
messagesArray.forEach((m) => {
console.log(`File Paths:`);
console.log(`Type: ${m.content[0].type}`);
if (isOutputOfType<MessageTextContent>(m.content[0], "text")) {
const textContent = m.content[0] as MessageTextContent;
console.log(`Text: ${textContent.text.value}`);
}
console.log(`File ID: ${m.id}`);
// firstId and lastId are properties of the paginator, not the messages array
// Removing these references as they don't exist in this context
});
// Delete the agent once done
await client.deleteAgent(agent.id);
console.log(`Deleted agent, agent ID: ${agent.id}`);
}
main().catch((err) => {
console.error("The sample encountered an error:", err);
});
Exécutez le code à l’aide de node index.js
. Ce code génère un fichier image PNG de graphique à barres dans le secteur TRANSPORT pour le bénéfice d’exploitation du fichier CSV chargé et vous fournit le fichier. Exemple complet de code source disponible.
| Documentation de référence |
Conditions préalables
- Un environnement d’agent de configuration
- Attribuer le rôle RBACutilisateur Azure AI à chaque membre de l’équipe qui doit créer ou modifier des agents à l’aide du Kit de développement logiciel (SDK) ou de l’agent Playground
- Ce rôle doit être attribué à l’étendue du projet
- Autorisations minimales requises : agents/*/read, agents/*/action, agents/*/delete
Configurer et exécuter un agent
Composant | Descriptif |
---|---|
Agent | IA personnalisée qui utilise des modèles d’IA conjointement avec des outils. |
Outil | Les outils permettent d’étendre la capacité d’un agent à répondre de manière fiable et exacte pendant la conversation. Par exemple, connecter des bases de connaissances définies par l’utilisateur pour fournir des bases au modèle ou permettre à la recherche web de fournir des informations à jour. |
Fil de discussion | Session de conversation entre un agent et un utilisateur. Les threads stockent les messages et gèrent automatiquement la troncature pour adapter le contenu au contexte d'un modèle. |
Message | Message créé par un agent ou un utilisateur. Les messages peuvent contenir du texte, des images et d’autres fichiers. Les messages sont stockés sous forme de liste dans le thread. |
Courir | Activation d’un agent pour qu’il commence à s’exécuter sur la base du contenu du thread. L’agent utilise sa configuration et les messages du thread pour effectuer des tâches en appelant des modèles et des outils. Dans le cadre d’une exécution, l’agent ajoute des messages au thread. |
Étape d’exécution | Liste détaillée des étapes que l’agent a suivies dans le cadre d'une opération. Un agent peut appeler des outils ou créer des messages pendant son exécution. La révision des étapes d'exécution vous permet de comprendre comment l’agent obtient ses résultats. |
Informations d’appel d’API
Pour authentifier vos requêtes d’API, utilisez la commande az login pour vous connecter à votre abonnement Azure.
az login
Ensuite, vous devez récupérer le jeton Entra ID pour le fournit en tant qu’autorisation aux appels d’API. Récupérez le jeton en utilisant la commande CLI :
az account get-access-token --resource 'https://ai.azure.com' | jq -r .accessToken | tr -d '"'
Définissez le jeton d’accès en tant que variable d’environnement nommée AGENT_TOKEN
.
Pour effectuer des appels d’API REST au service Azure AI Foundry Agent, vous devez utiliser le point de terminaison comme suit :
https://<your_ai_service_name>.services.ai.azure.com/api/projects/<your_project_name>
Par exemple, votre point de terminaison peut ressembler à ceci :
https://exampleaiservice.services.ai.azure.com/api/projects/project
Définissez ce point de terminaison en tant que variable d’environnement nommée AZURE_AI_FOUNDRY_PROJECT_ENDPOINT
.
Remarque
- Pour
api-version
le paramètre, la version de l’API GA est2025-05-01
et la dernière version de l’API en préversion est2025-05-15-preview
. Vous devez utiliser l’API de préversion pour les outils qui sont en préversion. - Envisagez de rendre votre version d’API une variable d’environnement, telle que
$API_VERSION
.
Créer un agent
Remarque
Avec Azure AI Agents Service, le paramètre model
nécessite un nom de modèle de déploiement. Si le nom de votre modèle de déploiement est différent du nom du modèle sous-jacent, vous devez ajuster votre code à "model": "{your-custom-model-deployment-name}"
.
curl --request POST \
--url $AZURE_AI_FOUNDRY_PROJECT_ENDPOINT/assistants?api-version=2025-05-01 \
-H "Authorization: Bearer $AGENT_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"instructions": "You are a helpful agent.",
"name": "my-agent",
"tools": [{"type": "code_interpreter"}],
"model": "gpt-4o-mini"
}'
Créer un thread
curl --request POST \
--url $AZURE_AI_FOUNDRY_PROJECT_ENDPOINT/threads?api-version=2025-05-01 \
-H "Authorization: Bearer $AGENT_TOKEN" \
-H "Content-Type: application/json" \
-d ''
Ajouter une question utilisateur au thread
curl --request POST \
--url $AZURE_AI_FOUNDRY_PROJECT_ENDPOINT/threads/thread_abc123/messages?api-version=2025-05-01 \
-H "Authorization: Bearer $AGENT_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"role": "user",
"content": "I need to solve the equation `3x + 11 = 14`. Can you help me?"
}'
Exécuter le thread
curl --request POST \
--url $AZURE_AI_FOUNDRY_PROJECT_ENDPOINT/threads/thread_abc123/runs?api-version=2025-05-01 \
-H "Authorization: Bearer $AGENT_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"assistant_id": "asst_abc123",
}'
Récupérer l’état de l’exécution
curl --request GET \
--url $AZURE_AI_FOUNDRY_PROJECT_ENDPOINT/threads/thread_abc123/runs/run_abc123?api-version=2025-05-01 \
-H "Authorization: Bearer $AGENT_TOKEN"
Récupérer la réponse de l’agent
curl --request GET \
--url $AZURE_AI_FOUNDRY_PROJECT_ENDPOINT/threads/thread_abc123/messages?api-version=2025-05-01 \
-H "Authorization: Bearer $AGENT_TOKEN"