|
@@ -0,0 +1,63 @@
|
|
|
+package com.pavis.admin.aigc.core.agent.planner;
|
|
|
+
|
|
|
+import com.pavis.admin.aigc.model.resp.AgentPlanResp;
|
|
|
+import lombok.Data;
|
|
|
+
|
|
|
+/**
|
|
|
+ * 规划上下文类
|
|
|
+ * 用于在计划的创建、执行和总结过程中传递和维护状态信息
|
|
|
+ * 该类作为计划执行流程中的核心数据载体,在的各个阶段之间传递
|
|
|
+ * 主要职责:
|
|
|
+ * - 存储计划ID和计划实体信息
|
|
|
+ * - 保存用户原始请求
|
|
|
+ * - 维护计划执行状态
|
|
|
+ * - 存储执行结果摘要
|
|
|
+ * - 控制是否需要生成执行总结
|
|
|
+ */
|
|
|
+@Data
|
|
|
+public class PlanContext {
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 计划的唯一标识符
|
|
|
+ */
|
|
|
+ private Long planId;
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 执行计划实体,包含计划的详细信息和执行步骤
|
|
|
+ */
|
|
|
+ private AgentPlanResp plan;
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 用户的消息内容
|
|
|
+ */
|
|
|
+ private String userMessage;
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 计划执行完成后的结果摘要
|
|
|
+ */
|
|
|
+ private String resultSummary;
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 是否需要为执行结果调用大模型生成摘要,true是调用大模型,false是不调用直接输出结果
|
|
|
+ */
|
|
|
+ private boolean needSummary;
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 计划执行是否成功的标志
|
|
|
+ */
|
|
|
+ private boolean success = false;
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 使用另一个ExecutionContext实例的内容更新当前实例
|
|
|
+ * <p>
|
|
|
+ * 此方法会复制传入context的计划实体、用户请求和结果摘要到当前实例
|
|
|
+ *
|
|
|
+ * @param context 源执行上下文实例
|
|
|
+ */
|
|
|
+ public void updateContext(PlanContext context) {
|
|
|
+ this.plan = context.getPlan();
|
|
|
+ this.userMessage = context.getUserMessage();
|
|
|
+ this.resultSummary = context.getResultSummary();
|
|
|
+ }
|
|
|
+
|
|
|
+}
|