有状态工作流编排:基于LangGraph设计五节点状态图(合规+意图并行→条件路由→数据查询/分析→输出守卫→历史保存),自定义reducer实现状态增量传递(add_messages/merge_dict),确保流程可回溯、易扩展。
安全双栈与动态Schema:Tier1正则+Tier2 LLM两层合规检查,输出守卫防泄露;从INFORMATION_SCHEMA实时加载表结构,白名单注入Intent Prompt,消除硬编码与语义偏差。
2. 运行性能调优
并行化与LLM调用降本:合规Tier2与意图理解通过asyncio.gather并行执行,节省5~8s;分析节点按need_query动态决定是否二次调用LLM,总体调用从10次降至5~9次。
记忆裁剪与缓存:MySQL持久化对话历史,trim_messages按token预算裁剪(默认1000),Schema缓存避免重复查询。
3. 用户体验效果调
流式交互与可观测性:基于astream_events实现SSE流式输出,实时推送节点完成、LLM思考过程及最终结果;全链路耗时日志(perf_counter)便于瓶颈定位。
意图渐进匹配:同义词→语义词典→LLM三级优先级,结构化槽位(时间/车牌)规则优先提取,兼顾响应速度与语义理解精度。