Gitee地址https://gitee.com/samoukris/rag-knowledge-base支持PDF/Word文档导入、本地LLM推理、GPU加速甚至能直接对接Java系统全程保姆级教程新手也能一次成功一、先搞懂这个项目能解决什么问题作为零基础学习者先明确项目价值学习更有方向- 文档太多查不到支持PDF/Word/Markdown等格式上传后直接用自然语言提问比如文档里的GPU配置步骤是什么不用再逐页翻找- 担心数据隐私所有数据本地存储大模型Qwen-7B也在本地运行完全不上云- 不会前后端开发自带Streamlit可视化界面上传文档、提问都能鼠标操作- 想对接自己的系统提供标准化API接口Java/Python都能调用- 电脑配置不够高支持CPU/GPU双模式RTX 4060就能GPU加速推理速度2-5秒/次总结主要解决在本地搭建一个初级企业知识库问答系统方便从零开始学习企业知识库。二、环境准备零基础也能搞定的前置条件2.1 硬件要求最低配置- CPU4核8线程普通笔记本都满足- 内存16GB最低要求- GPUNVIDIA显卡可选RTX 4060/3060以上最佳无GPU用CPU也能跑- 硬盘预留40GB空间存储模型和文档Windows 下查看系统版本、内存、显卡的具体 CMD 命令项目环境配置提示词直接复制下面整段发给 AI就能生成**完全匹配你电脑、一键运行、零报错**的环境配置方案---请根据我的电脑硬件配置为 rag-knowledge-base 开源项目生成**可直接复制运行、不报错、最适配**的 Windows 环境安装方案要求零基础可直接执行。项目地址https://gitee.com/samoukris/rag-knowledge-base我的硬件信息- 操作系统**Windows 10 21H1 19043**- 内存24 GB- 显卡NVIDIA GTX 4060- 显存8 GB请完整输出以下内容**所有命令必须是 Windows CMD 格式、可直接复制运行**1. 推荐 Python 版本2. 匹配的 CUDA 版本3. Windows 下查看CUDA、Python 版本的具体 CMD 命令4. PyTorch GPU 安装命令5. llama-cpp-python GPU 编译安装命令6. 项目完整依赖安装命令7. 最适合我配置的模型0.5B/1.8B/7B**模型通过魔塔社区下载安装**8. 最优 .env 配置chunk、上下文、线程、GPU 分层9. 环境验证 Python 脚本10. 常见报错及快速解决方法要求步骤清晰、零基础友好、一次性配置成功。2.2 软件安装一步一步来第一步安装Python必装1. 下载地址[Python 3.10版本](https://www.python.org/downloads/release/python-31011/)3.8-3.10都兼容别装3.112. 安装时勾选Add Python to PATH自动添加环境变量3. 验证打开cmd输入python --version显示3.10.x即为成功第二步安装Git用于拉取代码1. 下载地址[Git官网](https://git-scm.com/downloads)2. 默认安装即可无需额外配置3. 验证cmd输入git --version显示版本号即为成功第三步安装Docker可选用于快速部署Milvus向量库如果不想手动装Milvus直接用Docker一键启动新手推荐1. 下载地址[Docker Desktop](https://www.docker.com/products/docker-desktop/)2. 安装后启动Docker桌面有鲸鱼图标即为运行三、项目部署3步拉取启动全程复制命令3.1 拉取项目代码1. 新建一个文件夹比如RAG项目打开文件夹空白处右键选择Git Bash Here2. 输入命令拉取代码git clone https://gitee.com/samoukris/rag-knowledge-base.git3. 等待下载完成文件夹里会出现项目文件3.2 安装依赖包1. 打开cmd进入项目目录复制下面命令把路径改成你的项目路径cd C:\Users\你的用户名\Desktop\RAG项目\rag-knowledge-base2. 安装依赖复制命令直接运行耐心等待5-10分钟pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple- 注意如果提示pip不是内部命令重新安装Python并勾选Add to PATH- 报错解决遇到某个包安装失败单独安装该包比如pip install streamlit -i 清华源3.3 启动项目二选一方式一Docker一键启动推荐新手1. 确保Docker已启动桌面鲸鱼图标2. 在项目目录下运行命令docker-compose up -d3. 启动成功后运行启动脚本- Windows双击项目里的start.bat文件方式二本地手动启动无Docker时用1. 先安装Milvus向量库参考官网教程[Milvus本地安装](https://milvus.io/docs/install_standalone-docker.md)2. 复制.env.example文件重命名为.env直接复制粘贴改名字即可3. 运行命令启动服务uvicorn app:app --reload4. 再打开一个cmd启动前端界面streamlit run streamlit_app.py3.4 验证启动成功1. 打开浏览器输入地址http://localhost:85012. 看到如下界面即为成功- 左侧文档上传区域支持拖拽文件- 中间提问输入框- 右侧统计信息和历史记录四、新手实操上传文档智能问答4.1 上传文档1. 点击左侧上传文档按钮选择本地的PDF/Word/Markdown文件建议先传一个小文档测试比如10页以内的PDF2. 等待上传完成底部会显示文档处理成功3. 无需手动创建索引系统会自动完成文本切分、向量化存储4.2 智能问答1. 在中间输入框提问比如- 文档里提到的GPU加速怎么配置- 请总结这篇文档的核心内容- 如何调用项目的API接口2. 点击发送等待2-5秒GPU加速或10-20秒CPU即可看到答案3. 答案会附带检索来源点击可查看原文片段4.3 常见问题解决问题现象解决方法上传文档报错检查文件格式仅支持PDF/Word/Markdown/TXT文件大小不超过50MB回答很慢启用GPU加速降低LLM参数找不到答案提问更具体比如2024技术年报的GPU配置而非GPU配置降低相似度阈值启动时提示端口占用关闭占用8501/8000端口的程序或修改.env文件中的端口号五、GPU加速配置让回答速度快3倍可选如果有NVIDIA显卡一定要配置GPU加速推理速度从10秒降到2-5秒5.1 安装CUDA驱动1. 下载地址[CUDA 12.1版本](https://developer.nvidia.com/cuda-12.1.0-download-archive)2. 默认安装即可无需额外配置3. 验证cmd输入nvcc --version显示版本号即为成功5.2 安装GPU版本依赖1卸载并安装GPU版本的PyTorch和llama-cpp-python# 卸载CPU版本的PyTorch pip uninstall torch -y # 安装CUDA 12.1版本的PyTorch使用清华镜像源加速 pip install torch --index-url https://download.pytorch.org/whl/cu121 -i https://pypi.tuna.tsinghua.edu.cn/simple2配置llama-cpp-python的GPU支持# 卸载现有llama-cpp-python如有 pip uninstall llama-cpp-python -y # 安装CUDA 12.2版本的llama-cpp-python指定0.3.4版本 pip install llama-cpp-python0.3.4 --index-url https://abetlen.github.io/llama-cpp-python/whl/cu122 --no-cache-dir5.3 验证GPU是否生效1. 运行命令python -c import torch; print(torch.cuda.is_available())2. 输出True即为GPU配置成功3. 重启项目问答速度会明显提升六、参数调优如果遇到回答不准、速度慢等问题修改项目根目录的.env文件用记事本打开即可关键参数如下# 文本切分参数 chunk_size 500 # 每个片段的字数建议300-1000 chunk_overlap 100 # 片段重叠字数建议为CHUNK_SIZE的10-20% # 检索参数 top_k 5 # 检索前5个相关片段建议3-10 similarity_threshold 0.5 # 相似度阈值建议0.3-0.7 # LLM参数 llm_temperature 0.7 # 回答随机性0.1-0.9越低越准确 llm_n_ctx 2048 # 上下文长度越大能处理越长的文档 max_tokens 512 # 每次回答的最大字数修改后保存重启项目即可生效七、API调用对接自己的系统进阶项目提供了标准化API接口新手也能快速调用以Python为例问答接口实现import requests url http://localhost:8000/ask data { question: 如何配置GPU加速, top_k: 3 } response requests.post(url, jsondata) print(response.json())文档上传接口实现url http://localhost:8000/upload files {file: open(你的文档.pdf, rb)} response requests.post(url, filesfiles) print(response.json())接口文档自动生成启动项目后访问http://localhost:8000/docs可查看所有接口的使用方法。八、项目后续规划这个项目我还在持续更新后续会支持更多实用功能可以跟着项目迭代学习。也可以自己参照这个版本迭代路线学习。- v2.0已规划混合检索、流式输出打字机效果、离线评估- v3.0已规划用户认证、文档增量更新、个性化记忆- v4.0长期多模态RAG支持图片文档、Agent智能问答总结这款开源RAG项目对零基础非常友好不用懂复杂的RAG原理就能快速部署一套企业级知识库系统。通过实操你可以顺便学会Python环境配置、Docker使用、GPU加速、API调用等实用技能后续还能跟着项目源码学习LangChain、向量检索等热门技术。如果遇到问题可在Gitee项目Issues区提问作者会及时回复。赶紧拉取代码动手试试开启你的RAG学习之旅吧项目地址再放一次https://gitee.com/samoukris/rag-knowledge-base觉得有用的话记得给项目点个Star支持一下哦。