选项
首页首页 Skill 数据科学与机器学习 azure-ai-agents-persistent-java

azure-ai-agents-persistent-java

microsoft/skills microsoft/skills

使用 Azure Java SDK,通过线程、消息、运行和工具来创建和管理持久化 AI 代理。

...展开全部
0
更新时间 2026-09-15

Azure AI Agents 面向 Java 的持久化 SDK

用于创建和管理持久化 AI 代理的低级 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 持久化 SDK 提供了一个低级 API,用于管理可在不同会话中重复使用的持久化代理。

客户端层次结构

客户端 用途
PersistentAgentsClient 用于代理操作的同步客户端
PersistentAgentsAsyncClient 用于代理操作的异步客户端

核心工作流

1. 创建代理

// 使用工具创建代理
PersistentAgent agent = client.createAgent(
    modelDeploymentName,
    "数学家教",
    "您是一名私人数学家教。"
);

2. 创建线程

PersistentAgentThread 线程 = 客户端.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());

最佳实践

  1. 在生产环境中使用 DefaultAzureCredential进行身份验证
  2. 以适当的延迟进行轮询— 建议状态检查间隔为 500 毫秒
  3. 清理资源任务完成后删除线程和代理
  4. 处理所有运行状态— 检查是否为“RequiresAction”、“Failed”或“Cancelled”
  5. 在高并发场景下使用异步客户端以获得更高的吞吐量

错误处理

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
在 GitHub 上查看
---
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

复制 复制
快速设置: 将技能文件夹复制到 .claude/skills/ Claude 会自动检测并使用该技能

相关技能

web-search
更新时间 2026-06-29
webapp-testing
更新时间 2026-06-29
lark-base
更新时间 2026-07-05
agentmail
更新时间 2026-06-29
OR