快速上手(项目)
本节面向 Easy-Agents 项目使用者,帮助你在几分钟内跑通一个最小可用工作流(非文档站部署)。
前置条件
- JDK 17+
- Maven 3.8+
获取代码
bash
git clone https://github.com/TheEterna/easy-agents.git
导入与构建
- 使用 IDE 导入根
pom.xml
(多模块:easy-agents-common
、easy-agents-orchestrator
)。 - 构建:
bash
mvn -q -DskipTests package
添加到你的项目(作为依赖)
在你的 pom.xml
中加入(示例,按实际发布坐标调整):
xml
<dependency>
<groupId>com.ai.agents</groupId>
<artifactId>easy-agents-orchestrator</artifactId>
<version>0.1.0</version>
</dependency>
最小示例:单节点流式执行
java
WorkFlowManager<String> manager = WorkFlowManager.<String>builder().build();
CodeNode<String> start = CodeNode.<String>builder()
.inType(String.class)
.outType(String.class)
.code(in -> "Hello " + in)
.build("World");
manager.setStartNode(start); // 仅设置一次
manager.startStreaming()
.doOnNext(System.out::println)
.blockLast();
串联 AI 对话节点
java
EasyTree.TreeNode root = manager.setStartNode(start);
AIChatNode<String> ai = AIChatNode.<String>builder()
.chatClientRequestSpec(chatClient.prompt().system("你是助手"))
.prompt(input -> List.of(new UserMessage(input)))
.outType(String.class)
.build(root.getId());
root.addChild(ai);
manager.startStreaming().blockLast();
常见问题
- 只调用一次
setStartNode
,否则 UUID 变化会导致结果池取值 NPE。 - 对 AI 输出进行测试时,建议只断言流完成(
verifyComplete()
)。 - 需要更多细节:见「架构概览」「工作流与节点」「流式执行」「路由与并发」。