|
|
@@ -5,29 +5,26 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
|
|
import com.baomidou.mybatisplus.spring.service.impl.ServiceImpl;
|
|
|
import com.fasterxml.jackson.core.JsonProcessingException;
|
|
|
import com.fasterxml.jackson.core.type.TypeReference;
|
|
|
-import com.zsjz.ai.common.constants.PathConst;
|
|
|
import com.zsjz.ai.common.exception.ServerException;
|
|
|
import com.zsjz.ai.common.utils.Json;
|
|
|
import com.zsjz.ai.module.agent.WorkspaceManagerFactory;
|
|
|
+import com.zsjz.ai.module.agent.artifact.ArtifactService;
|
|
|
import com.zsjz.ai.module.agent.config.EtlProperties;
|
|
|
import com.zsjz.ai.module.agent.config.SkillRepositoryConfigEntry;
|
|
|
-import com.zsjz.ai.module.agent.config.SkillRepositorySupport;
|
|
|
import com.zsjz.ai.module.agent.dto.SaveExpertDTO;
|
|
|
import com.zsjz.ai.module.agent.entity.AgentEntity;
|
|
|
import com.zsjz.ai.module.agent.entity.AgentModel;
|
|
|
import com.zsjz.ai.module.agent.followup.FollowupMiddleware;
|
|
|
import com.zsjz.ai.module.agent.followup.FollowupService;
|
|
|
-import com.zsjz.ai.module.agent.middleware.CaseScopeMiddleware;
|
|
|
import com.zsjz.ai.module.agent.intent.IntentMiddleware;
|
|
|
import com.zsjz.ai.module.agent.intent.IntentService;
|
|
|
import com.zsjz.ai.module.agent.mapper.AgentChatSessionMapper;
|
|
|
import com.zsjz.ai.module.agent.mapper.AgentMapper;
|
|
|
import com.zsjz.ai.module.agent.mapper.AgentModelMapper;
|
|
|
import com.zsjz.ai.module.agent.mapper.SqlQueryMapper;
|
|
|
+import com.zsjz.ai.module.agent.middleware.CaseScopeMiddleware;
|
|
|
import com.zsjz.ai.module.agent.python.PythonExecutor;
|
|
|
import com.zsjz.ai.module.agent.rag.RagSchemaService;
|
|
|
-import com.zsjz.ai.module.agent.scaffold.WorkspaceScaffolder;
|
|
|
-import com.zsjz.ai.module.agent.artifact.ArtifactService;
|
|
|
import com.zsjz.ai.module.agent.tools.*;
|
|
|
import com.zsjz.ai.module.agent.vo.ExpertVO;
|
|
|
import com.zsjz.ai.module.govern.serivce.GovernTreeService;
|
|
|
@@ -52,7 +49,6 @@ import java.nio.file.Paths;
|
|
|
import java.util.List;
|
|
|
import java.util.Optional;
|
|
|
import java.util.Set;
|
|
|
-import java.util.concurrent.ConcurrentHashMap;
|
|
|
|
|
|
/**
|
|
|
* Agent 实例管理服务(官方"无状态引擎单例"模式)。
|
|
|
@@ -572,7 +568,7 @@ public class AgentService extends ServiceImpl<AgentMapper, AgentEntity> {
|
|
|
1. 表格类工具(execute_sql 与各业务分析工具)的数据结果会自动导出为 CSV 产物文件,与该次工具调用**成对**展示在「过程」详情里,用户可预览前 200 行、下载全量。
|
|
|
报告正文如需呈现数据,直接写 Markdown 表格(第一行是表头,用 | 分隔列,前端会渲染为表格):把你要展示的行**完整给出**,不要省略列、不要用"……"截断;全量数据以 CSV 产物为准。
|
|
|
★ 业务口径优先用专用工具:它们的统计口径(未知对手/未知卡号、现金关键词、夜间/连续/敏感通话、大额/共同/相互交易、碰面时间窗口、同住推导、同行比对等)已固化,不要用 execute_sql 手写 SQL 重算同一口径;只有专用工具覆盖不到的场景才自己写 SQL。
|
|
|
- ★ 专用工具按业务域分成 6 组:person(人员画像与亲密度)、call(通话明细)、trans(交易明细与资金)、track(轨迹/出行/快递)、otg(全文检索与行为时间轴)、graph(关系图谱)。当前会话默认只装备 person 组。
|
|
|
+ ★ 专用工具按业务域分成 6 组:person(人员画像)、call(通话明细)、trans(交易明细与资金)、track(轨迹/出行/快递)、otg(全文检索与行为时间轴)、graph(关系图谱)。当前会话默认只装备 person 组。
|
|
|
当你要用的工具不在当前可见工具列表里时,先调用 reset_equipped_tools 把需要的组名一起写进 to_activate —— 它是**全量替换**语义,不在列表里的组会被卸载,所以要么把当前还要用的组一并列出,要么用完立刻切回。不要把无关组一起打开,会浪费上下文。
|
|
|
2. 展示常规图表(柱状/折线/饼/散点等)时,必须先调用 render_chart 工具校验 option(option 是结构化 JSON 对象,按该工具的 schema 传,不要传 JSON 字符串),再把工具返回的 ECharts option JSON 原样放入 ```echarts 围栏块中,前端会渲染为图表。
|
|
|
3. 展示关系图谱/网络图/关联图时,禁止用 render_chart 手写 graph 类型 series(会被拒绝),必须先调用 render_graph 工具(入参结构以该工具的 schema 为准,不要再自己拼结构串),再把工具返回的图谱 JSON 原样放入 ```graph 围栏块中,前端会渲染为可交互力导向图。禁止用文字罗列代替。
|