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
- Utiliser DefaultAzureCredential pour l'authentification en production
- Interroger avec des délais appropriés — 500 ms recommandés entre les vérifications d'état
- Nettoyer les ressources — Supprimer les threads et agents une fois terminé
- Gérer tous les statuts de run — Vérifier RequiresAction, Failed, Cancelled
- 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 |