1 客户原有办公平台已经选择了飞书,真实的源文档也是在飞书云文档编辑和管理。使用时间已经很长了。所以我选择了火山viking知识库服务。利用飞书开放平台API获取源文档,调用viking API上传源文档到知识库
2 在源文档较少且对数据私密度要求不高的情况下选择火山引擎viking知识库服务费用比较低廉。等以后沉淀文档较多对数
据私密度要求增高的情况下再考虑自搭建高度定制化的RAG服务
3 考虑到客户是电商行业,产品变动性较大,文档更新迭代较快,产品信息文档 使用文档 故障排查文档以单个产品为维度去
总结,在明道云存放飞书链接。
4 使用sql召回对应产品的文档链接,通过飞书api解读内容,给到大模型作为资料进行回答
5 行政制度报销政策 品牌知识 平台操作手册 产品技术原理等低迭代文档入库viking,使用search knowledge api 召回
6 应用使用redis进行8 天窗口滑动式热门问题缓存以10轮问答为单次会话的上限,新的会话会携带旧会话摘要做3轮问答跟
踪,到第四轮彻底抛弃旧会话摘要 单次会话从第五轮开始压缩历史问答
后端使用python fastapi实现api服务
对话流 langchian生态中的langGraph视线
前端使用react实现,pc端和手机端的界面只用and D ui框架实现
使用redis实现对话历史的存储和管理,还有热门问题的缓存
项目内接入了阿里云短信服务实现,验证码发送
使用飞书开方平台api实现文档的来取
viking知识库管理使用火山引擎官方api实现
客户已有明道云,使用明道云储存产品信息以及对应的文档连接,使用明道云api召回产品类的文档信息
资料查找使用viking api和明道云的api实现,实现多路检索
资料汇总成markdwon形式,保留上下文丢给大模型做回答