azure-ai-agents-persistent-java

npx skills add https://github.com/microsoft/skills --skill azure-ai-agents-persistent-java

Kit de développement Azure AI Agents Persistent pour Java

SDK bas niveau pour créer et gérer des agents IA persistants avec threads, messages, runs et outils.

Installation

<dependency>
    <groupId>com.azure</groupId>
    <artifactId>azure-ai-agents-persistent</artifactId>
    <version>1.0.0-beta.1</version>
</dependency>

Variables d'environnement

PROJECT_ENDPOINT=https://<resource>.services.ai.azure.com/api/projects/<project>
MODEL_DEPLOYMENT_NAME=gpt-4o-mini

Authentification

import com.azure.ai.agents.persistent.PersistentAgentsClient;
import com.azure.ai.agents.persistent.PersistentAgentsClientBuilder;
import com.azure.identity.DefaultAzureCredentialBuilder;

String endpoint = System.getenv("PROJECT_ENDPOINT");
PersistentAgentsClient client = new PersistentAgentsClientBuilder()
    .endpoint(endpoint)
    .credential(new DefaultAzureCredentialBuilder().build())
    .buildClient();

Concepts clés

Le kit de développement Azure AI Agents Persistent fournit une API bas niveau pour gérer des agents persistants réutilisables entre les sessions.

Hiérarchie des clients

Client Objectif
PersistentAgentsClient Client synchrone pour les opérations d'agent
PersistentAgentsAsyncClient Client asynchrone pour les opérations d'agent

Flux de travail principal

1. Créer un agent

// Créer un agent avec des outils
PersistentAgent agent = client.createAgent(
    modelDeploymentName,
    "Math Tutor",
    "You are a personal math tutor."
);

2. Créer un thread

PersistentAgentThread thread = client.createThread();

3. Ajouter un message

client.createMessage(
    thread.getId(),
    MessageRole.USER,
    "I need help with equations."
);

4. Exécuter l'agent

ThreadRun run = client.createRun(thread.getId(), agent.getId());

// Attendre la fin
while (run.getStatus() == RunStatus.QUEUED || run.getStatus() == RunStatus.IN_PROGRESS) {
    Thread.sleep(500);
    run = client.getRun(thread.getId(), run.getId());
}

5. Obtenir la réponse

PagedIterable<PersistentThreadMessage> messages = client.listMessages(thread.getId());
for (PersistentThreadMessage message : messages) {
    System.out.println(message.getRole() + ": " + message.getContent());
}

6. Nettoyer les ressources

client.deleteThread(thread.getId());
client.deleteAgent(agent.getId());

Bonnes pratiques

  1. Utiliser DefaultAzureCredential pour l'authentification en production
  2. Interroger avec des délais appropriés — 500 ms recommandés entre les vérifications d'état
  3. Nettoyer les ressources — Supprimer les threads et agents une fois terminé
  4. Gérer tous les statuts de run — Vérifier RequiresAction, Failed, Cancelled
  5. Utiliser le client async pour un meilleur débit en cas de concurrence élevée

Gestion des erreurs

import com.azure.core.exception.HttpResponseException;

try {
    PersistentAgent agent = client.createAgent(modelName, name, instructions);
} catch (HttpResponseException e) {
    System.err.println("Error: " + e.getResponse().getStatusCode() + " - " + e.getMessage());
}

Liens de référence

Ressource URL
Package Maven https://central.sonatype.com/artifact/com.azure/azure-ai-agents-persistent
Source GitHub https://github.com/Azure/azure-sdk-for-java/tree/main/sdk/ai/azure-ai-agents-persistent

Skills similaires