知识问答执行逻辑:: 启动服务 -》 agent.load -> 创建检索器(执行自定义的connect函数) 用户输入-》 DU模块生成“知识问答命令” -》 检索策略执行(执行自定义的search函数) GraphRAG: text2sql,nl2sql 用户输入-》 LLM -》 判断入口节点 执行混合检索,确定入口节点 生成: LLM生成 DSL 反思: 返回错误信息 校正: 修正DSL action系统: 用户工程自定义action --》 启动时加载和注册 --》 收到执行计划,根据注册的名字,执行对应action的run() 涉及LLM的通用问题: 用什么模型(尺寸)? 用在线调用,从大到小试 要不要微调?(业务知识掌握不太够、语气提示词效果不好、节约成本蒸馏到小模型、拒识能力) 拒识能力: RAG的生成器(就是LLM) 数据:正例、负例,有效提升边界场景的处理 私有化?在线调用商用的? 前期调研用在线的比较快,确定后私有化部署(vllm) 要不要思考? 简单任务不开,复杂需要推理的开 熟悉一下GPU型号 H系列、L系列、A系列、xxx DU模块 1、命令生成器 !!! 提示词工程: 1、 2、 3、 4、...... LLM: 选择 Qwen-8B 蒸馏(离线策略): 在线(省钱)调用32B,生成高质量答案 ==> 输入+高质量答案,构造出 微调数据集 => 8B模型进行SFT(这个场景,这种任务,不需要RLHF、thinking) 格式: shareGPT [ { "role":"user","content": "我们构建的prompt", "role":"assistant","content":"[start flow A\nset slot a=123\n]" }, { } ] Langgraph使用步骤 1、定义state 2、定义node函数 3、定义需要的边 4、将节点一一连接起来,执行编译 5、执行 invoke 启动命令 --》 agent.load: 加载需要的信息,创建和初始化agent实例 --》 找到tar.gz压缩包,进行解压 --》 加载用户配置: domain、flow、config、endpoint、动态加载自定义的action&自定义检索器 --》 创建需要的子组件:命令生成器、处理器、flow策略、search策略、llm客户端 用户输入 --》 调接口,接口里调用 agent.handle_message --》 每次调用,从 tracker store根据 会话id 获取 或创建 --》 执行图 graph.ainvoke --> 解析结果, 将最新的tracker更新到 tracker_store中(下一轮对话,继续读出来,不丢失信息) harness:最新的最火的agent架构 hermes(爱马仕):最火的,跟openclaw类似的 个人超级助手框架