shibing624 / ChatPDF

RAG for Local LLM, chat with PDF/doc/txt files, ChatPDF. 纯原生实现RAG功能,基于本地LLM、embedding模型、reranker模型实现,无须安装任何第三方agent库。
Apache License 2.0
626 stars 109 forks source link
chatdoc chatpdf llm local-rag pdf rag

ChatPDF

基于本地 LLM 做检索知识问答(RAG)

Tests Passing GitHub Contributors

根据文件回答 / 开源模型 / 本地部署LLM

Animation Demo

原理

Usage

安装依赖

在终端中输入下面的命令,然后回车即可。

pip install -r requirements.txt

如果您在使用Windows,建议通过WSL,在Linux上安装。如果您没有安装CUDA,并且不想只用CPU跑大模型,请先安装CUDA。

如果下载慢,建议配置豆瓣源。

RAG示例

请使用下面的命令。取决于你的系统,你可能需要用python或者python3命令。请确保你已经安装了Python。

CUDA_VISIBLE_DEVICES=0 python rag.py

启动Gradio的Web服务

CUDA_VISIBLE_DEVICES=0 python webui.py --corpus_files data/sample.pdf --share

现在,你应该已经可以在浏览器地址栏中输入 http://localhost:7860 查看并使用 ChatPDF 了。

GraphRAG示例

[!TIP]

Please set OpenAI API key in environment: export OPENAI_API_KEY="sk-...".

If you don't have LLM key, check out this graphrag._model.py that using ollama .

python graphrag_demo.py

Contact

License

授权协议为 The Apache License 2.0,可免费用做商业用途。请在产品说明中附加ChatPDF的链接和授权协议。

Contribute

项目代码还很粗糙,如果大家对代码有所改进,欢迎提交回本项目。

关联项目推荐