落地的人工智能 · 进阶
基于模型的系统的架构
一句话: 模型是一个普通系统里的一个组件——而围绕它的那个系统,才是大部分工作和大部分风险所在。
固定的组成部分
一个做校验和清洗的输入层;一个带权限把上下文取回来的检索层;一个带重试、超时和备用供应商的模型调用层;一个按schema校验输出的层;以及一个日志与度量层。
每一层在普通系统里也都有。变的是输出不是确定性的,所以校验和度量的重要性要高出好几倍。
同步还是异步
如果响应需要超过几秒钟,就转成带任务标识和状态更新的后台流程。把一个请求挂着一分钟,是超时和糟糕体验的配方。
不能越过的边界
模型的输出不能未经校验、也不经过一份允许操作白名单,就直接进入执行——不管是一条查询、一个命令,还是一次外部调用。
深入一层
把模型层构建成能在「干跑模式」下运行:同一套系统、不做真实调用、使用保存好的回答。这能加快开发、稳定测试,并让你能把一次故障原样复现出来。