工业软件使用手册较为复杂,上手门槛较高,结合大语言模型通过问答形式,帮助用户快速入门,查取功能的操作方式
建立企业知识库并基于此实现检索增强生成(RAG)系统,以实时与用户交互完成问答,可以分为以下几个步骤:
1. 建立企业知识库
文档收集与解析
收集企业内部的各类文档,包括但不限于产品手册、技术文档、FAQ、政策文件等。
使用合适的工具解析这些文档,确保它们能够被系统理解。例如,使用mineru进行版面分析,或者利用多模态大模型如qwen-vlm来处理复杂文档。
文档切分
将文档按照语义段落切分成适当大小的块(chunks),保证每个chunk都能包含完整的语义信息,同时适合后续处理。
向量化
对每个chunk应用嵌入模型(如jina-embeddings-v2或BAAI提供的模型)将其转换为向量表示,以便于后续的相似度计算和检索。
2. RAG检索与问答
问题重写与查询优化
针对用户的提问,可能需要对其进行重写或分解,以更好地匹配知识库中的内容。这可以通过多种策略实现,比如多重查询、RAG融合、查询分解等。
向量检索与BM25结合
在Elasticsearch或其他搜索引擎中,结合向量检索(基于嵌入的相似度搜索)和BM25检索(基于词频-逆文档频率的文本相似度评分算法),提供更加精确的结果。
召回与重排
根据检索结果,将最相关的文档chunks召回,并通过重排模型(如big-reranker-base/big-reranker-large)进一步优化排序,提高回答的相关性和准确性。
实时交互
使用Qwen基座模型作为后端的大语言模型,根据召回的文档chunks生成最终的回答。这个过程需要高效的处理机制来实现实时响应。
项目持续三个月,我在其中负责的任务分为:
(1)基于PYQT5搭建完整的插件界面
(2)完成模型选型,以及核心流程
(3)对模型进行下游数据微调
(4)对pdf等文档进行切块等文字提取