{"repo":"shibing624/ChatPDF","free":true,"listed":false,"github":"https://github.com/shibing624/ChatPDF","clone":"git clone https://github.com/shibing624/ChatPDF.git","description":"RAG for Local LLM, chat with PDF/doc/txt files, ChatPDF. 纯原生实现RAG功能，基于本地LLM、embedding模型、reranker模型实现，支持GraphRAG，无须安装任何第三方agent库。","language":"Python","stars":855,"topics":["chatdoc","chatpdf","llm","pdf","rag","local-rag","graphrag"],"license":"Apache-2.0","category":"ai-agents","readme_excerpt":"ChatPDF 基于本地 LLM 做检索知识问答(RAG) 根据文件回答 / 开源模型 / 本地部署LLM 介绍 - 本项目实现了轻量版的GraphRAG - 支持 local 模式的关系图检索的文档问答 - 支持Openai API, Deepseek API, Ollama API等，可自行扩展支持更多LLM - 支持openai embedding、本地 text2vec embedding、huggingface embedding、sentence-transformers embedding等 - 异步开发，支持多个API并发请求 - 本项目支持多种开源LLM模型，包括Qwen/DeepSeek等 - 本项目支持多种文件格式，包括PDF、docx、markdown、txt等 - 本项目优化了RAG准确率 - Chinese chunk切分优化，适配中英文混合文档 - embedding优化，使用text2vec的sentence embedding，支持sentence embedding/字面相似度匹配算法 - 检索匹配优化，引入jieba分词的rank BM25，提升对query关键词的字面匹配，使用字面相似度+sentence embedding向量相似度加权获取corpus候选集 - 新增reranker模块，对字面+语义检索的候选集进行rerank排序，减少候选集，并提升候选命中准确率，用 rerank model name or path 参数设置rerank模型 - 新增候选chunk扩展上下文功能，用 num expand context chunk 参数设置命中的候选chunk扩展上下文窗口大小 - RAG底模优化，可以使用200k的基于RAG微调的LLM模型，支持自定义RAG模型，用 generate model name or path 参数设置底模 - 本项目基于gradio开发了RAG对话页面，支持流式对话 原理 Usage 安装依赖 在终端中输入下面的命令，然后回车即可。 如果您在使用Windows，建议通过WSL，在Linux上安装。如果您没有安装CUDA，并且不想只用CPU跑大模型，请先安装CUDA。 如果下载慢，建议配置豆瓣源。 RAG示例 请使用下面的命令。取决于你的系统，你可能需要用python或者python3命令。请确保你已经安装了Python。 output: 启动Gradio的Web服务 现在，你应该已经可以在浏览器地址栏中输入 http://localhost:8082 查看并使用 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 . Contact - Issue(建议)： - 邮件我：xuming: xuming624@qq.com - 微信我：加我 微信号：xuming624, 备注：姓名-公司-NLP 进NLP交流群。 License 授权协议为 The Apache License 2.0，可免费用做商业用途。请在产品说明中附加ChatPDF的链接和授权协议。 Contribute 项目代码还很粗糙，如果大家对代码有所改进，欢迎提交回本项目。 关联项目推荐 - shi","default_branch":null,"files":null,"tree":[],"storefront":"/r/shibing624","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/shibing624/ChatPDF/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}