# QA-LocalKnowledge-LLM **Repository Path**: RapidAI/QA-LocalKnowledge-LLM ## Basic Information - **Project Name**: QA-LocalKnowledge-LLM - **Description**: No description available - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2023-07-02 - **Last Updated**: 2023-08-16 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## QA-LocalKnowledge-LLM
- 基于本地知识库+LLM的问答。该项目的思路是由[langchain-ChatGLM](https://github.com/imClumsyPanda/langchain-ChatGLM)而来。 - 缘由: - 之前使用过这个项目,感觉不是太灵活,部署不太友好。 - 借鉴[如何用大语言模型构建一个知识问答系统](https://mp.weixin.qq.com/s/movaNCWjJGBaes6KxhpYpg)中思路,尝试以此作为实践。 - 整个项目为模块化配置,不依赖`lanchain`库,各部分可轻易替换。 - ⚠️注意:使用之前要做的事情: 1. 下载`moka-ai/m3e-small`的`pytorch_model.bin`模型到`models/m3e-small`目录下 2. 单独配置好`chatglm2-6b`的接口,接口启动参考:[ChatGLM2-6B API](https://github.com/THUDM/ChatGLM2-6B/blob/main/api.py) #### TODO - [x] 完善解析office文档接口及单元测试 - [ ] 完善PDF提取接口及单元测试 - [ ] 完善图像内容提取接口及单元测试 - [x] 完善LLM接口 - [ ] 完善UI - [ ] 增加上传文档接口 - [ ] 调研[milvus](https://github.com/milvus-io/milvus) #### 整体步骤 1. 解析文档并存入数据库 ```mermaid flowchart LR A(["文档(*.txt, *.pdf, *.docx, *.pptx, *.excel)"]) --ExtractText--> B([sentences]) B --Embedding--> C([Embeddings]) C --Store--> D[(DataBase)] ``` 2. 检索并回答问题 ```mermaid flowchart LR E([Query]) --Embedding--> F([Embeddings]) --Search--> H[(Database)] --> G([Context]) E --> I([Prompt]) G --> I --> J([LLM]) --> K([Answer]) ``` #### UI