azure-ai-agents-persistent-java

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

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

Azure AI Agents Persistent SDK for Java

Low-level SDK for creating and managing persistent AI agents with threads, messages, runs, and tools.

Installation

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

Environment Variables

PROJECT_ENDPOINT=https://<resource>.services.ai.azure.com/api/projects/<project> # Required for project configuration
MODEL_DEPLOYMENT_NAME=gpt-4o-mini # Required for agent model selection
AZURE_TOKEN_CREDENTIALS=prod  # Required only if DefaultAzureCredential is used in production

Authentication

import com.azure.ai.agents.persistent.PersistentAgentsClient;
import com.azure.ai.agents.persistent.PersistentAgentsClientBuilder;
import com.azure.core.credential.TokenCredential;
import com.azure.identity.AzureIdentityEnvVars;
import com.azure.identity.DefaultAzureCredentialBuilder;
import com.azure.identity.ManagedIdentityCredentialBuilder;

String endpoint = System.getenv("PROJECT_ENDPOINT");
TokenCredential credential = new DefaultAzureCredentialBuilder()
    .requireEnvVars(AzureIdentityEnvVars.AZURE_TOKEN_CREDENTIALS)
    .build();
// Or use a specific credential directly in production:
// See https://learn.microsoft.com/java/api/overview/azure/identity-readme?view=azure-java-stable#credential-classes
// TokenCredential credential = new ManagedIdentityCredentialBuilder().build();

PersistentAgentsClient client = new PersistentAgentsClientBuilder()
    .endpoint(endpoint)
    .credential(credential)
    .buildClient();

Key Concepts

The Azure AI Agents Persistent SDK provides a low-level API for managing persistent agents that can be reused across sessions.

Client Hierarchy

ClientPurpose
PersistentAgentsClientSync client for agent operations
PersistentAgentsAsyncClientAsync client for agent operations

Core Workflow

1. Create Agent

// Create agent with tools
PersistentAgent agent = client.createAgent(
    modelDeploymentName,
    "Math Tutor",
    "You are a personal math tutor."
);

2. Create Thread

PersistentAgentThread thread = client.createThread();

3. Add Message

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

4. Run Agent

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

// Poll for completion
while (run.getStatus() == RunStatus.QUEUED || run.getStatus() == RunStatus.IN_PROGRESS) {
    Thread.sleep(500);
    run = client.getRun(thread.getId(), run.getId());
}

5. Get Response

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

6. Cleanup

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

Best Practices

  1. Use DefaultAzureCredential for production authentication
  2. Poll with appropriate delays — 500ms recommended between status checks
  3. Clean up resources — Delete threads and agents when done
  4. Handle all run statuses — Check for RequiresAction, Failed, Cancelled
  5. Use async client for better throughput in high-concurrency scenarios

Error Handling

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());
}

Reference Links

ResourceURL
Maven Packagehttps://central.sonatype.com/artifact/com.azure/azure-ai-agents-persistent
GitHub Sourcehttps://github.com/Azure/azure-sdk-for-java/tree/main/sdk/ai/azure-ai-agents-persistent

Plus de skills de microsoft

oss-growth
microsoft
Persona de growth hacker OSS
official
winapp-ui-automation
microsoft
Inspecter et interagir avec les interfaces utilisateur d'applications Windows en cours d'exécution depuis la ligne de commande à l'aide de UI Automation (UIA). Utilisez lorsqu'un agent IA ou un développeur a besoin d'inspecter une interface utilisateur…
official
accessibility-aria-expert
microsoft
Détecte et corrige les problèmes d'accessibilité dans les vues web React/Fluent UI. À utiliser lors de la révision du code pour la compatibilité avec les lecteurs d'écran, la correction des étiquettes ARIA, la garantie…
official
generate-canvas-app
microsoft
[DÉPRÉCIÉ — utilisez plutôt canvas-app] Générer une application canevas Power Apps complète.
official
django
microsoft
Meilleures pratiques pour le développement web avec Django, incluant les modèles, les vues, les templates et les tests.
official
github-issue-creator
microsoft
Convertir des notes brutes, des journaux d'erreurs, des dictées vocales ou des captures d'écran en rapports de problème GitHub au format Markdown clairs et précis. Utiliser lorsque l'utilisateur colle des informations de bogue, des erreurs…
official
python-package-management
microsoft
Utilise uv pour la gestion des dépendances et poethepoet pour l'automatisation des tâches.
official
runtime-validation
microsoft
Validation d'exécution pour les applications migrées — couvre la stratégie de test (phase de planification) et l'exécution des tests (phase de validation) : vérification du démarrage,…
official