From 62f24c3014ee7c1522ea2646c5394c5d3db83bcd Mon Sep 17 00:00:00 2001 From: sanbuphy Date: Sat, 20 Jul 2024 18:23:23 +0800 Subject: [PATCH] [rfc] add paddle docs qa bot --- ...56\347\255\224\345\272\224\347\224\250.md" | 146 ++++++++++++++++++ 1 file changed, 146 insertions(+) create mode 100644 "rfcs/Docs/\351\243\236\346\241\250\346\226\207\346\241\243&\344\273\243\347\240\201\344\273\223\345\272\223\351\227\256\347\255\224\345\272\224\347\224\250.md" diff --git "a/rfcs/Docs/\351\243\236\346\241\250\346\226\207\346\241\243&\344\273\243\347\240\201\344\273\223\345\272\223\351\227\256\347\255\224\345\272\224\347\224\250.md" "b/rfcs/Docs/\351\243\236\346\241\250\346\226\207\346\241\243&\344\273\243\347\240\201\344\273\223\345\272\223\351\227\256\347\255\224\345\272\224\347\224\250.md" new file mode 100644 index 000000000..c802c73c5 --- /dev/null +++ "b/rfcs/Docs/\351\243\236\346\241\250\346\226\207\346\241\243&\344\273\243\347\240\201\344\273\223\345\272\223\351\227\256\347\255\224\345\272\224\347\224\250.md" @@ -0,0 +1,146 @@ +# 飞桨文档&代码仓库问答应用 + +|领域 | 飞桨文档&代码仓库问答应用 | +|---|--------------------------------| +|提交作者 | sanbuphy (欢迎更多朋友加入) | +|提交时间 | 2023-07-21 | +|版本号 | V1.0 | +|依赖飞桨版本 | paddlepaddle>3.0beta | +|文件名 | 飞桨文档&代码仓库问答应用.md
| + +# 一、概述 + +## 1、相关背景 + + +飞桨(PaddlePaddle)是中国首个自主研发、功能完备、开源开放的深度学习平台,其文档和代码仓库是用户理解和使用飞桨的关键资源。为了提升用户体验,提供高效的问答服务,我们开发了飞桨文档&代码仓库问答机器人。 + +## 2、目标与特性 + +### 低设备要求 + +问答机器人设计为在低配置设备上也能高效运行,降低用户硬件门槛。 + +### 检索意图识别 + +通过自然语言处理技术,精准识别用户意图,提高问答准确性。 + +### 多信息联动支持 + +对于多个向量索引库,支持同时检索多个向量数据库,综合多个数据库信息进行 QA,增强数据完整性,对多主体关系友好. + +- 例: 请问 paddlecls 和 paddleslim 的关系是什么 + +### 仓库 README 更新定时推送 + +根据每次更新的配置信息,支持依据飞桨各仓库 README 更新配置增量构建数据库 ,确保用户获取最新信息。 + +### 增量信息修正(action) + + +## 3、意义 + +- 提升用户体验,帮助用户更高效地查找和理解飞桨文档和代码。 +- 减少用户学习成本,推广飞桨生态。 + +# 二、飞桨现状 + +飞桨作为国内领先的深度学习平台,涵盖了丰富的文档和代码资源。 +文档和代码仓库资源繁多,用户查找和学习成本较高。 + + +# 三、设计思路与实现方案 + +## 1、 总述 + +本项目通过构建一个智能问答机器人,实现对飞桨文档和代码仓库的智能问答服务。该机器人将利用自然语言处理技术、向量数据库检索、LLM 对话模块等技术手段,实现高效的问答服务。 + +## 2、 架构设计 + +机器人整体架构包括用户意图分类模块、文档转化与向量预处理模块、LLM 对话模块、Embedding 及 Rerank 模块、异常状况处理模块、RAG 技术洞察模块、前端设计模块等。 + + +## 3、 用户意图分类 + +利用自然语言处理技术,分析用户输入,识别用户意图,分类为不同的问答需求,如文档查询、代码示例查询、关系查询等。 + +## 4、 文档转化与向量预处理 + +### 文档格式转化 + +#### rst2md + +#### pdf2md + +#### html2md + +#### video2md/audio2md + +### 文档切分规则 + +- 针对单文章多语义分布的情况 + +- 普通文章 + +### 向量数据库 + +#### 本地向量数据库 + +#### 在线向量数据库 + +## 5、LLM 对话模块 + +### 利用文心一言在线api + +### cpu 本地运行推理 + +### gpu 本地运行推理 + +## 6、Embedding 及 Rerank 模块 + +### 在线 Embedding 模型 + +### 本地 Embedding 模型洞察 + +### 本地 Rerank 模型洞察 + +### 利用 openvino 部署向量模型 + +## 7、异常状况 + +#### 意图分类错误 + +#### query 匹配程度低 + +## 8、 RAG 技术洞察 + +### 常见问题 + +### 召回精度提高 + +### RAG幻觉 + +### 语义冲突 + +### graphRAG + +## 9、 前端设计 + + +## 10、 其他 + +# 四、测试和验收的考量 + +1. 完成所有代码并开源,代码交付 Pfcc Lab 社区维护 + +2. 效果高可用,代码高可维护 + +3. 应用部署至星河社区 + +# 五、排期规划 + + + +# 六、影响面 + +本项目对各仓库无直接影响关联,但会提升用户对飞桨文档和代码仓库的访问和使用体验,促进飞桨生态系统的推广和应用。 \ No newline at end of file