Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Azure AI Foundry Agent Service le permite crear agentes de inteligencia artificial adaptados a sus necesidades mediante instrucciones personalizadas y aumentadas por herramientas avanzadas como el intérprete de código y las funciones personalizadas.
Prerrequisitos
- Una suscripción de Azure: cree una gratuitamente.
- Asegúrese de que la persona que crea la cuenta y el proyecto tiene el rol Propietario de la cuenta de Azure AI en el ámbito de la suscripción.
- Como alternativa, tener el rol Colaborador o Colaborador de Cognitive Services en el nivel de suscripción también satisface este requisito.
Importante
El portal de Azure AI Foundry solo admite el conjunto de agentes básicos en este momento. Si desea realizar una configuración de agente estándar, consulte el artículo Configuración del entorno para obtener más información.
Creación de una cuenta y un proyecto de Foundry en el portal de Azure AI Foundry
Para crear una cuenta y un proyecto en Azure AI Foundry, siga estos pasos:
Ir a Azure AI Foundry. Si está en un proyecto, seleccione Azure AI Foundry en la parte superior izquierda de la página para ir a la página Inicio.
Use el flujo de creación de introducción del agente para obtener la experiencia más rápida. Haga clic en Crear un agente.
Escriba un nombre para el proyecto. Si desea personalizar los valores predeterminados, seleccione Opciones avanzadas.
Selecciona Crear.
Espere a que se aprovisionen los recursos.
- Se creará una cuenta y un proyecto (recurso secundario de la cuenta).
- El modelo gpt-4o se implementará automáticamente.
- Se creará un agente predeterminado.
Una vez completado, llegará directamente al área de juegos del agente y podrá empezar a crear agentes.
Nota:
Si recibe un error de permiso al intentar configurar o crear agentes, asegúrese de que tiene el usuario de Azure AI en el proyecto.
| Documentación de referencia | Muestras | Código fuente de la biblioteca | Paquete (NuGet) |
Prerrequisitos
- Un entorno de configuración del agente
- Asigne el rol RBAC de usuario de Azure AI a cada miembro del equipo que necesite crear o editar agentes mediante el SDK o el área de juegos del agente.
- Este rol debe asignarse en el ámbito del proyecto.
- Permisos mínimos necesarios: agents/*/read, agents/*/action, agents/*/delete
Configuración y ejecución de un agente
Componente | Descripción |
---|---|
Agente | IA personalizada que usa modelos de IA junto con herramientas. |
Herramienta | Las herramientas ayudan a ampliar la capacidad de un agente para responder con fiabilidad y precisión durante una conversación. Por ejemplo, conectando con bases de conocimientos definidas por el usuario para fundamentar el modelo, o habilitando la búsqueda en la Web para proporcionar información actualizada. |
Subproceso | Una sesión de conversación entre un agente y un usuario. Los hilos almacenan mensajes y gestionan automáticamente el truncamiento para ajustar el contenido al contexto de un modelo. |
Mensaje | Un mensaje creado por un agente o un usuario. Los mensajes pueden incluir texto, imágenes y otros archivos. Los mensajes se almacenan como una lista en el hilo. |
Correr | Activación de un agente para comenzar a ejecutarse en función del contenido del hilo. El agente utiliza su configuración y los mensajes de Thread para realizar tareas mediante la invocación de modelos y herramientas. Como parte de una ejecución, el agente anexa mensajes al subproceso. |
Cree un proyecto de consola de .NET.
dotnet new console
Instale el paquete de .NET en el proyecto. Por ejemplo, si usa la CLI de .NET, ejecute el siguiente comando.
dotnet add package Azure.AI.Agents.Persistent
dotnet add package Azure.Identity
A continuación, para autenticar las solicitudes de API y ejecutar el programa, use el comando az login para iniciar sesión en la suscripción de Azure.
az login
Use el código siguiente para crear y ejecutar un agente. Para ejecutar este código, deberá obtener el punto de conexión del proyecto. Esta cadena tiene el formato:
https://<AIFoundryResourceName>.services.ai.azure.com/api/projects/<ProjectName>
Sugerencia
También puede encontrar el punto de conexión en la información general del proyecto en el portal de Azure AI Foundry, en Bibliotecas>de Azure AI Foundry.
Por ejemplo, el punto de conexión puede tener un aspecto similar al siguiente:
https://myresource.services.ai.azure.com/api/projects/myproject
Establezca este punto de conexión en una variable appsetting denominada ProjectEndpoint
.
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);
| Documentación de referencia | Muestras | Código fuente de la biblioteca | Paquete (PyPi) |
Prerrequisitos
- Un entorno de configuración del agente
- Asigne el rol RBAC de usuario de Azure AI a cada miembro del equipo que necesite crear o editar agentes mediante el SDK o el área de juegos del agente.
- Este rol debe asignarse en el ámbito del proyecto.
- Permisos mínimos necesarios: agents/*/read, agents/*/action, agents/*/delete
Configuración y ejecución de un agente
Componente | Descripción |
---|---|
Agente | IA personalizada que usa modelos de IA junto con herramientas. |
Herramienta | Las herramientas ayudan a ampliar la capacidad de un agente para responder con fiabilidad y precisión durante una conversación. Por ejemplo, conectando con bases de conocimientos definidas por el usuario para fundamentar el modelo, o habilitando la búsqueda en la Web para proporcionar información actualizada. |
Subproceso | Una sesión de conversación entre un agente y un usuario. Los hilos almacenan mensajes y gestionan automáticamente el truncamiento para ajustar el contenido al contexto de un modelo. |
Mensaje | Un mensaje creado por un agente o un usuario. Los mensajes pueden incluir texto, imágenes y otros archivos. Los mensajes se almacenan como una lista en el hilo. |
Correr | Activación de un agente para comenzar a ejecutarse en función del contenido del hilo. El agente utiliza su configuración y los mensajes de Thread para realizar tareas mediante la invocación de modelos y herramientas. Como parte de una ejecución, el agente anexa mensajes al subproceso. |
Paso de ejecución | Una lista detallada de los pasos que tomó el agente como parte de una ejecución. Un agente puede llamar a herramientas o crear mensajes durante su ejecución. Examinar los pasos de ejecución le permite comprender cómo el agente obtiene sus resultados. |
Ejecute los siguientes comandos para instalar los paquetes de Python.
pip install azure-ai-projects
pip install azure-identity
A continuación, para autenticar las solicitudes de API y ejecutar el programa, use el comando az login para iniciar sesión en la suscripción de Azure.
az login
Use el código siguiente para crear y ejecutar un agente. Para ejecutar este código, deberá obtener el punto de conexión del proyecto. Esta cadena tiene el formato:
https://<AIFoundryResourceName>.services.ai.azure.com/api/projects/<ProjectName>
Sugerencia
También puede encontrar el punto de conexión en la información general del proyecto en el portal de Azure AI Foundry, en Bibliotecas>de Azure AI Foundry.
Por ejemplo, el punto de conexión puede tener un aspecto similar al siguiente:
https://myresource.services.ai.azure.com/api/projects/myproject
Establezca este punto de conexión como una variable de entorno denominada 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")
| Documentación de referencia | Ejemplos | Código fuente de la biblioteca | Paquete (PyPi) |
Prerrequisitos
- Un entorno de configuración del agente
- Asigne el rol RBAC de usuario de Azure AI a cada miembro del equipo que necesite crear o editar agentes mediante el SDK o el área de juegos del agente.
- Este rol debe asignarse en el ámbito del proyecto.
- Permisos mínimos necesarios: agents/*/read, agents/*/action, agents/*/delete
Configuración y ejecución de un agente
Componente | Descripción |
---|---|
Agente | Inteligencia artificial personalizada que usa modelos de IA con herramientas. |
Herramienta | Las herramientas ayudan a ampliar la capacidad de un agente para responder con fiabilidad y precisión durante una conversación. Por ejemplo, conectando con bases de conocimientos definidas por el usuario para fundamentar el modelo, o habilitando la búsqueda en la Web para proporcionar información actualizada. |
Subproceso | Una sesión de conversación entre un agente y un usuario. Los hilos almacenan mensajes y gestionan automáticamente el truncamiento para ajustar el contenido al contexto de un modelo. |
Mensaje | Un mensaje creado por un agente o un usuario. Los mensajes pueden incluir texto, imágenes y otros archivos. Los mensajes se almacenan como una lista en el hilo. |
Correr | Activación de un agente para comenzar a ejecutarse en función del contenido del hilo. El agente utiliza su configuración y los mensajes de Thread para realizar tareas mediante la invocación de modelos y herramientas. Como parte de una ejecución, el agente anexa mensajes al subproceso. |
Paso de ejecución | Una lista detallada de los pasos que tomó el agente como parte de una ejecución. Un agente puede llamar a herramientas o crear mensajes durante su ejecución. Examinar los pasos de ejecución le permite comprender cómo el agente obtiene sus resultados. |
Entre los objetos clave de este código se incluyen:
En primer lugar, inicialice un nuevo proyecto mediante la ejecución de:
npm init -y
Ejecute los comandos siguientes para instalar los paquetes de npm necesarios.
npm install @azure/ai-agents @azure/identity
npm install dotenv
A continuación, para autenticar las solicitudes de API y ejecutar el programa, use el comando az login para iniciar sesión en la suscripción de Azure.
az login
Use el código siguiente para crear y ejecutar un agente que cargue un archivo CSV de datos y, a continuación, genere un gráfico de barras a partir de esos datos. Para ejecutar este código, deberá obtener el punto de conexión del proyecto. Esta cadena tiene el formato:
https://<AIFoundryResourceName>.services.ai.azure.com/api/projects/<ProjectName>
Sugerencia
También puede encontrar el punto de conexión en la información general del proyecto en el portal de Azure AI Foundry, en Bibliotecas>de Azure AI Foundry.
Por ejemplo, el punto de conexión tiene un aspecto similar al siguiente:
https://myresource.services.ai.azure.com/api/projects/myproject
Establezca este punto de conexión como una variable de entorno denominada PROJECT_ENDPOINT
en un .env
archivo.
Importante
- Este código de inicio rápido usa variables de entorno para la configuración confidencial. No confirme nunca el
.env
archivo en el control de versiones asegurándose de que.env
aparece en el.gitignore
archivo. - Recuerde: Si confirma accidentalmente información confidencial, tenga en cuenta esas credenciales comprometidas y rotarlas inmediatamente.
A continuación, cree un index.js
archivo y pegue el código siguiente:
// 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);
});
Ejecute el código mediante node index.js
. Este código genera un archivo de imagen PNG de gráfico de barras en el sector de TRANSPORTE para el beneficio operativo a partir del archivo CSV cargado y se lo proporcionamos. Código fuente de ejemplo completo disponible.
| Documentación de referencia |
Prerrequisitos
- Un entorno de configuración del agente
- Asigne el rol RBAC de usuario de Azure AI a cada miembro del equipo que necesite crear o editar agentes mediante el SDK o el área de juegos del agente.
- Este rol debe asignarse en el ámbito del proyecto.
- Permisos mínimos necesarios: agents/*/read, agents/*/action, agents/*/delete
Configuración y ejecución de un agente
Componente | Descripción |
---|---|
Agente | IA personalizada que usa modelos de IA junto con herramientas. |
Herramienta | Las herramientas ayudan a ampliar la capacidad de un agente para responder con fiabilidad y precisión durante una conversación. Por ejemplo, conectando con bases de conocimientos definidas por el usuario para fundamentar el modelo, o habilitando la búsqueda en la Web para proporcionar información actualizada. |
Subproceso | Una sesión de conversación entre un agente y un usuario. Los hilos almacenan mensajes y gestionan automáticamente el truncamiento para ajustar el contenido al contexto de un modelo. |
Mensaje | Un mensaje creado por un agente o un usuario. Los mensajes pueden incluir texto, imágenes y otros archivos. Los mensajes se almacenan como una lista en el hilo. |
Correr | Activación de un agente para comenzar a ejecutarse en función del contenido del hilo. El agente utiliza su configuración y los mensajes de Thread para realizar tareas mediante la invocación de modelos y herramientas. Como parte de una ejecución, el agente anexa mensajes al subproceso. |
Paso de ejecución | Una lista detallada de los pasos que tomó el agente como parte de una ejecución. Un agente puede llamar a herramientas o crear mensajes durante su ejecución. Examinar los pasos de ejecución le permite comprender cómo el agente obtiene sus resultados. |
Información de llamada de API
Para autenticar las solicitudes de API, use el comando az login para iniciar sesión en la suscripción de Azure.
az login
A continuación, deberá obtener el token de Id. de Entra para usarlo como autorización en las llamadas a la API. Capture el token mediante el comando de la CLI:
az account get-access-token --resource 'https://ai.azure.com' | jq -r .accessToken | tr -d '"'
Establezca el token de acceso como una variable de entorno denominada AGENT_TOKEN
.
Para realizar correctamente llamadas api REST al servicio agente de Azure AI Foundry, deberá usar el punto de conexión como se indica a continuación:
https://<your_ai_service_name>.services.ai.azure.com/api/projects/<your_project_name>
Por ejemplo, el punto de conexión puede tener un aspecto similar al siguiente:
https://exampleaiservice.services.ai.azure.com/api/projects/project
Establezca este punto de conexión como una variable de entorno denominada AZURE_AI_FOUNDRY_PROJECT_ENDPOINT
.
Nota:
- Para el parámetro
api-version
, la versión de la API de disponibilidad general es2025-05-01
y la versión más reciente de la API en versión preliminar es2025-05-15-preview
. Debe usar la API de versión preliminar para las herramientas que están en versión preliminar. - Considere la posibilidad de convertir la versión de la API en una variable de entorno, como
$API_VERSION
.
Crear un agente
Nota:
Con Azure AI Agents Service, el parámetro model
requiere el nombre de implementación de modelo. Si el nombre de implementación de modelo es diferente al del modelo subyacente, tendría que ajustar el código a "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"
}'
Crear un hilo
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 ''
Añade una pregunta de usuario al hilo
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?"
}'
Ejecución del subproceso
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",
}'
Recuperación del estado de la ejecución
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"
Recuperación de la respuesta del agente
curl --request GET \
--url $AZURE_AI_FOUNDRY_PROJECT_ENDPOINT/threads/thread_abc123/messages?api-version=2025-05-01 \
-H "Authorization: Bearer $AGENT_TOKEN"