/**
* 继续执行 Graph
* 使用 HUMAN_FEEDBACK_METADATA_KEY 来恢复执行
*/
public static void continueExecution(CompiledGraph graph, RunnableConfig updatedConfig) {
// 创建恢复配置,添加 HUMAN_FEEDBACK_METADATA_KEY
RunnableConfig resumeConfig = RunnableConfig.builder(updatedConfig)
.addMetadata(RunnableConfig.HUMAN_FEEDBACK_METADATA_KEY, "placeholder")
.build();
System.out.println("
--继续执行 Graph--");
// 继续执行 Graph(input 为 null,使用之前的状态)
graph.stream(null, resumeConfig)
.doOnNext(event -> System.out.println("节点输出: " + event))
.doOnError(error -> System.err.println("流错误: " + error.getMessage()))
.doOnComplete(() -> System.out.println("流完成"))
.blockLast();
}
输出:
--继续执行 Graph--
节点输出: NodeOutput{node=human_feedback, state={messages=[Step 0, Step 1], human_feedback=back}}
节点输出: NodeOutput{node=step_1, state={messages=[Step 0, Step 1], human_feedback=back}}
流完成
本文整理自 Spring AI Alibaba 官方文档《人类反馈》:https://java2ai.com/docs/frameworks/graph-core/examples/human-in-the-loop

AI项目博客






