ChatPDF
- 本项目支持多种开源LLM模型,包括ChatGLM3-6b、Chinese-LLaMA-Alpaca-2、Baichuan、YI等
- 本项目支持多种文件格式,包括PDF、docx、markdown、txt等
- 本项目优化了RAG准确率
- Chinese chunk切分优化,适配中英文混合文档
- embedding优化,使用text2vec的sentence embedding,支持sentence embedding/字面相似度匹配算法
- 检索匹配优化,引入jieba分词的rank_BM25,提升对query关键词的字面匹配,使用字面相似度+sentence embedding向量相似度加权获取corpus候选集
- RAG底模优化,使用基于RAG微调的LLM模型,支持自定义RAG模型
- 本项目基于gradio开发了RAG对话页面,支持流式对话
原理
使用说明
安装依赖
在终端中输入下面的命令,然后回车即可。
pip install -r requirements.txt
如果您在使用Windows,建议通过WSL,在Linux上安装。如果您没有安装CUDA,并且不想只用CPU跑大模型,请先安装CUDA。
如果下载慢,建议配置豆瓣源。
本地调用
请使用下面的命令。取决于你的系统,你可能需要用python或者python3命令。请确保你已经安装了Python。
CUDA_VISIBLE_DEVICES=0 python chatpdf.py --gen_model_type llama --gen_model 01-ai/Yi-6B-Chat --corpus_files sample.pdf
启动Web服务
CUDA_VISIBLE_DEVICES=0 python webui.py --gen_model_type llama --gen_model 01-ai/Yi-6B-Chat --corpus_files sample.pdf --share
如果一切顺利,现在,你应该已经可以在浏览器地址栏中输入 http://localhost:7860 查看并使用 ChatPDF 了。
Contact
- Issue(建议):
- 邮件我:xuming: [email protected]
- 微信我:加我微信号:xuming624, 备注:姓名-公司-NLP 进NLP交流群。
License
授权协议为 The Apache License 2.0,可免费用做商业用途。请在产品说明中附加ChatPDF的链接和授权协议。
Contribute
项目代码还很粗糙,如果大家对代码有所改进,欢迎提交回本项目。
Reference
关联项目推荐
- shibing624/MedicalGPT:训练自己的GPT大模型,实现了包括增量预训练、有监督微调、RLHF(奖励建模、强化学习训练)和DPO(直接偏好优化)