azure-ai-agents-persistent-java
microsoft/skills
Создавайте постоянные агенты искусственного интеллекта и управляйте ими с помощью потоков, сообщений, циклов выполнения и инструментов, используя SDK Azure для Java.
...Расширить всеAzure AI Agents Persistent SDK для Java
Низкоуровневый SDK для создания и управления постоянными агентами искусственного интеллекта с использованием потоков, сообщений, циклов выполнения и инструментов.
Установка
com.azure
azure-ai-agents-persistent
1.0.0-beta.1
Переменные среды
PROJECT_ENDPOINT=https://.services.ai.azure.com/api/projects/ # Требуется для конфигурации проекта
MODEL_DEPLOYMENT_NAME=gpt-4o-mini # Требуется для выбора модели агента
AZURE_TOKEN_CREDENTIALS=prod # Требуется только в том случае, если в производственной среде используется DefaultAzureCredential
Аутентификация
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();
// Или используйте конкретные учетные данные напрямую в производственной среде:
// См. 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();
Ключевые концепции
Azure AI Agents Persistent SDK предоставляет низкоуровневый API для управления постоянными агентами, которые можно повторно использовать в разных сеансах.
Иерархия клиента
| Клиент | Назначение |
|---|---|
PersistentAgentsClient |
Клиент синхронизации для операций с агентами |
PersistentAgentsAsyncClient |
Асинхронный клиент для операций агента |
Основной рабочий процесс
1. Создание агента
// Создание агента с инструментами
PersistentAgent agent = client.createAgent(
modelDeploymentName,
"Репетитор по математике",
"Вы — личный репетитор по математике."
);
2. Создание потока
PersistentAgentThread thread = client.createThread();
3. Добавление сообщения
client.createMessage(
thread.getId(),
MessageRole.USER,
"Мне нужна помощь с уравнениями."
);
4. Запуск агента
ThreadRun run = client.createRun(thread.getId(), agent.getId());
// Проверка завершения
while (run.getStatus() == RunStatus.QUEUED || run.getStatus() == RunStatus.IN_PROGRESS) {
Thread.sleep(500);
run = client.getRun(thread.getId(), run.getId());
}
5. Получение ответа
PagedIterable messages = client.listMessages(thread.getId());
for (PersistentThreadMessage message : messages) {
System.out.println(message.getRole() + ": " + message.getContent());
}
6. Очистка
client.deleteThread(thread.getId());
client.deleteAgent(agent.getId());
Рекомендации
- Используйте DefaultAzureCredential для аутентификации в производственной среде
- Выполняйте опрос с соответствующими задержками — рекомендуется 500 мс между проверками состояния
- Очистка ресурсов — удаляйте потоки и агенты по завершении работы
- Обрабатывайте все статусы выполнения — проверяйте наличие статусов RequiresAction, Failed, Cancelled
- Используйте асинхронный клиент для повышения пропускной способности в сценариях с высокой степенью параллелизма
Обработка ошибок
import com.azure.core.exception.HttpResponseException;
try {
PersistentAgent agent = client.createAgent(modelName, name, instructions);
} catch (HttpResponseException e) {
System.err.println("Ошибка: " + e.getResponse().getStatusCode() + " - " + e.getMessage());
}
Ссылки
| Ресурс | URL |
|---|---|
| Пакет Maven | https://central.sonatype.com/artifact/com.azure/azure-ai-agents-persistent |
| Исходный код на GitHub | https://github.com/Azure/azure-sdk-for-java/tree/main/sdk/ai/azure-ai-agents-persistent |
---
name: azure-ai-agents-persistent-java
description: Create and manage persistent AI agents with threads, messages, runs, and tools using the Azure SDK for Java.
license: MIT
---
# Azure AI Agents Persistent SDK for Java
Low-level SDK for creating and managing persistent AI agents with threads, messages, runs, and tools.
## Installation
```xml
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-ai-agents-persistent</artifactId>
<version>1.0.0-beta.1</version>
</dependency>
```
## Environment Variables
```bash
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
```java
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
| Client | Purpose |
|--------|---------|
| `PersistentAgentsClient` | Sync client for agent operations |
| `PersistentAgentsAsyncClient` | Async client for agent operations |
## Core Workflow
### 1. Create Agent
```java
// Create agent with tools
PersistentAgent agent = client.createAgent(
modelDeploymentName,
"Math Tutor",
"You are a personal math tutor."
);
```
### 2. Create Thread
```java
PersistentAgentThread thread = client.createThread();
```
### 3. Add Message
```java
client.createMessage(
thread.getId(),
MessageRole.USER,
"I need help with equations."
);
```
### 4. Run Agent
```java
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
```java
PagedIterable<PersistentThreadMessage> messages = client.listMessages(thread.getId());
for (PersistentThreadMessage message : messages) {
System.out.println(message.getRole() + ": " + message.getContent());
}
```
### 6. Cleanup
```java
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
```java
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
| Resource | URL |
|----------|-----|
| Maven Package | https://central.sonatype.com/artifact/com.azure/azure-ai-agents-persistent |
| GitHub Source | https://github.com/Azure/azure-sdk-for-java/tree/main/sdk/ai/azure-ai-agents-persistent |
Все файлы
0 файловУстановить azure-ai-agents-persistent-java
Скачайте файлы навыков и распакуйте их в каталог .claude/skills/.
Скачать ZIPКлонируйте репозиторий и скопируйте файлы навыка в свой проект.
git clone https://github.com/microsoft/skills/tree/main/.github/plugins/azure-sdk-java/skills/azure-ai-agents-persistent-java # Copy SKILL.md to your .claude/skills/ directory
Копировать





Дом
