1.12.6 • Published 4 months ago
@aigne/agent-library v1.12.6
@aigne/agent-library
English | 中文
AIGNE 框架的代理库集合,提供预构建的代理实现。
简介
@aigne/agent-library
是 AIGNE 框架的代理库集合,为开发者提供预构建的代理实现。该库是基于 @aigne/core 构建的,扩展了核心功能,使复杂工作流的编排更加简便。
特性
- 编排代理:提供 OrchestratorAgent 实现,用于协调多个代理之间的工作流
- 任务并发:支持并行执行多个任务,提高处理效率
- 计划与执行:自动生成执行计划并逐步执行
- 结果合成:智能合成多个步骤和任务的结果
- TypeScript 支持:完整的类型定义,提供优秀的开发体验
安装
使用 npm
npm install @aigne/agent-library @aigne/core
使用 yarn
yarn add @aigne/agent-library @aigne/core
使用 pnpm
pnpm add @aigne/agent-library @aigne/core
基本用法
import { AIGNE } from "@aigne/core";
import { OpenAIChatModel } from "@aigne/core/models/openai-chat-model.js";
import { OrchestratorAgent } from "@aigne/agent-library/orchestrator";
// 创建 AI 模型实例
const model = new OpenAIChatModel({
apiKey: process.env.OPENAI_API_KEY,
model: "gpt-4-turbo",
});
// 创建执行引擎
const aigne = new AIGNE({ model });
// 创建编排代理
const orchestrator = new OrchestratorAgent({
name: "主编排器",
instructions: "你是一个任务编排器,负责协调多个专业代理完成复杂任务。",
// 配置子代理和工具...
});
// 执行编排任务
const result = await aigne.invoke(
orchestrator,
"分析这篇文章并生成摘要和关键词",
);
console.log(result);
提供的代理类型
该库目前提供了一种专业化的代理实现:
- 编排代理(OrchestratorAgent):负责协调多个代理之间的工作,管理复杂工作流。它能够自动规划任务步骤,并在多个代理之间分配和执行任务,最后合成结果。
高级用法
创建编排工作流
import { AIAgent, AIGNE } from "@aigne/core";
import { OpenAIChatModel } from "@aigne/core/models/openai-chat-model.js";
import { OrchestratorAgent } from "@aigne/agent-library/orchestrator";
const model = new OpenAIChatModel({
apiKey: process.env.OPENAI_API_KEY,
model: "gpt-4-turbo",
});
// 创建专业子代理
const researchAgent = AIAgent.from({
name: "研究员",
instructions: "你是一位专业研究员,负责收集和分析信息。",
outputKey: "research",
});
const writerAgent = AIAgent.from({
name: "作家",
instructions: "你是一位专业作家,负责创作高质量内容。",
outputKey: "content",
});
const editorAgent = AIAgent.from({
name: "编辑",
instructions: "你是一位严格的编辑,负责检查内容质量和格式。",
outputKey: "edited",
});
// 创建编排代理
const orchestrator = new OrchestratorAgent({
name: "工作流编排器",
instructions: "你负责协调研究、写作和编辑流程。",
skills: [researchAgent, writerAgent, editorAgent],
// 可选配置
maxIterations: 30, // 最大迭代次数
tasksConcurrency: 5, // 任务并发数
});
// 使用编排代理
const aigne = new AIGNE({ model });
const result = await aigne.invoke(orchestrator, "关于人工智能在医疗领域的应用");
console.log(result);
协议
Elastic-2.0
1.12.6
4 months ago
1.12.5
4 months ago
1.12.4
4 months ago
1.12.3
4 months ago
1.12.2
4 months ago
1.12.1
4 months ago
1.12.0
4 months ago
1.11.0
4 months ago
1.10.0
4 months ago
1.9.0
5 months ago
1.8.1
5 months ago
1.8.0
5 months ago
1.7.1
5 months ago
1.7.0
5 months ago
1.6.1
6 months ago
1.6.0
6 months ago
1.5.0
6 months ago
1.4.0
6 months ago
1.3.2
6 months ago
1.3.1
6 months ago
1.3.0
7 months ago
1.2.0
7 months ago
1.1.0
7 months ago
1.1.0-beta.17
7 months ago
1.1.0-beta.16
7 months ago
1.1.0-beta.15
7 months ago
1.1.0-beta.14
7 months ago
1.1.0-beta.13
7 months ago
1.1.0-beta.12
7 months ago
1.1.0-beta.11
7 months ago
1.1.0-beta.10
7 months ago
1.1.0-beta.9
7 months ago
1.1.0-beta.8
7 months ago
1.1.0-beta.7
7 months ago