医疗管理系统八股文 介绍一下你的项目架构2023-10 ⾄ 2023-12这个项目整体采用前后端分离架构。后端基于Spring BootMyBatisRedisMySQLXXL-Job构建业务服务。前端包含若依管理后台UniApp医护端UniApp患者端AI智能体部分采用Ollama本地开源模型阿里百炼大模型服务结合RAG知识库增强和Function Calling实现业务Agent。为什么采用Ollama阿里百炼混合模型OLLAMA 隐私安全 ollama方便阿里百炼混合模型 springAI AALBB 适配阿里百链 适配RAG 工作流 等复杂操作如何判断请求走本地模型还是云模型什么是Agent和普通Chat有什么区别chat无外部能力agent可以自主思考的AI记忆RAG工具多AGENT任务调度 -并发重复汇合用户输入↓任务规划↓调用工具↓执行任务↓总结结果Function Calling是什么Function Calling让大模型可以调用后端定义好的业务函数。发送信息携带工具大模型 返回工具工具调用路由调用对应工具得到结果组装得到回答你的挂号Agent流程用户输入|Agent理解意图|判断是否需要工具|调用Function|查询医生信息|查询排班|创建预约|返回结果queryDepartment() queryDoctor() querySchedule() createAppointment()为什么需要RAG上下文无法满足需要减轻上下文RAG通过外部知识库增强。-知识库过滤命中、医疗知识库疾病指南 药品说明 医院规则用户糖尿病饮食注意什么流程问题向量化↓检索相关知识↓拼接Prompt↓LLM回答RAG具体流程离线阶段医疗文档|文本切片|Embedding模型文本意图理解|生成向量|保存向量数据库用户问题 | Embedding| 向量检索 |TopK相关内容| Prompt增强| LLM生成为什么需要文本切片数据太长匹配精确度下降切片后进行向量化向量模型问题匹配精度下降。所以例如10000字文档切500~1000字chunk。每个chunk生成独立向量。如何提高RAG准确率回复优化 -增加命中es优化 再次增加命令选取好用的向量模型AI自行判断是否足够重排序XXL-Job如何实现RAG增量更新每天定时任务扫描数据。