WeKnora 本地部署快速上手:单机零云端依赖跑通完整 RAG 问答

发布时间:2026/9/11 7:32:01
WeKnora 本地部署快速上手:单机零云端依赖跑通完整 RAG 问答 WeKnora 本地部署快速上手单机零云端依赖跑通完整 RAG 问答【免费下载链接】WeKnoraOpen-source LLM knowledge platform: turn raw documents into a queryable RAG, an autonomous reasoning agent, and a self-maintaining Wiki.项目地址: https://gitcode.com/GitHub_Trending/we/WeKnoraWeKnora 是开源 LLM 知识平台把 PDF、Word 变成可检索的 RAG 知识库再配一个会自主推理的问答 Agent。本指南面向内网、离线、数据不出机器的场景只用 Docker 和 Ollama照着敲完命令就能在自己机器上跑起来。部署完你能拿到什么跑通之后是这样的状态浏览器打开 http://localhost 就是完整 Web 界面注册第一个账号即可用文档丢进知识库自动解析、切块、向量化全程本地完成问答页提问答案带引用出处回答由本机 Ollama 模型生成不经过任何云端 API拔了网线整套系统照跑数据只落你自己的磁盘。整体由 5 个容器组成前端、app、postgres、docreader、redis外加宿主机上的 Ollama。环境与资源清单先过一遍再动手。四类要求一张表说清类别要求说明软件Docker ≥ 20.10、Compose v2、GitOllama 不用提前装启动脚本检测到没有会自动装硬件8 核 CPU 32GB 内存起步推理主要吃内存跑 7B 对话模型建议留 16GB 以上可用磁盘预留 200GB镜像、模型、解析产物都往盘上写网络首次拉镜像、拉模型必须联网见下方 ⚠️联网窗口分得很清楚必须联网第一次docker compose拉取 5 个容器镜像Ollama 首次pull两个模型可以离线容器运行、文档解析、向量检索、模型推理全部零网络依赖。⚠️ 真正的无网目标机正确姿势是在一台联网机器上把镜像docker save打包、模型导出后拷过去导入而不是在目标机上现拉。现在拉再导入是两条不同的路别混。上手流程备好配置一个文件管到底目标拿到代码生成本次部署唯一的配置入口.env。操作git clone https://gitcode.com/GitHub_Trending/we/WeKnora cd WeKnora cp .env.example .env关键参数为什么这么设数据库密码、存储类型、Ollama 地址全集中在.env模板里每项带注释只改三处即可DB_PASSWORD、REDIS_PASSWORD、SYSTEM_AES_KEY换成自己生成的值内网部署也别沿用示例值STORAGE_TYPE保持local文件直接落容器挂载的本地目录不引入对象存储OLLAMA_BASE_URL保持默认http://host.docker.internal:11434。容器里不能写localhosthost.docker.internal才是容器指向宿主机的正确写法这也是后面排障最高频的坑。完成的信号ls -la .env能看到文件且上述三处已改成自己的值。拉起服务一条命令带自检目标把前端、app、postgres、docreader、redis 五个容器全部拉起来。操作动手前先自检一次环境./scripts/start_all.sh -c没问题就正式启动./scripts/start_all.sh --no-pull关键参数为什么这么设--no-pull表示不联网拉镜像、直接用本地已有的这正是离线部署的关键开关第一次在有网机器上部署时去掉它让脚本自动拉取。脚本本身会按顺序做三件事确认 Ollama 可用、检查.env是否齐全、再用 compose 拉起容器。完成的信号脚本末尾打印出 ✅ 前端界面: http://localhost 和 API接口: http://localhost:8080。模型就位嵌入与对话各一个目标给 Ollama 备好嵌入模型和对话模型。操作ollama pull bge-m3 ollama pull qwen2.5:7b关键参数为什么这么设bge-m3负责把文档切成向量qwen2.5:7b负责回答缺哪个哪个环节就不通。内存紧张就把对话模型换成更小的规格嵌入模型建议不动。⚠️ 无网机器上这两步要在联网机器执行、导出模型文件再拷过来导入。完成的信号ollama list里能看到这两个模型模型没就位时 app 只告警不崩只是问答功能暂不可用。验收与排障按顺序做 5 件事全过即成功docker compose ps所有容器状态为 Up重点看 app、postgres、docreader终端跑curl -f http://localhost:8080/health返回 200 表示后端健康检查通过浏览器打开 http://localhost注册并登录第一个账号新建知识库上传一份 PDF等解析状态变为完成问答页问一句这份文档主要讲什么拿到带引用出处的回答整条链路全通。✅高频问题挑三个都是现象 → 处理两句话app 容器反复重启日志全是 Ollama 连不上先curl http://localhost:11434/api/tags确认 Ollama 活着再核对.env里的OLLAMA_BASE_URL必须写host.docker.internal不能写localhost。上传文档被拒默认单文件上限 50MBMAX_FILE_SIZE_MB超限直接拒没超限就docker compose logs docreader看解析器报的具体格式问题。问答太慢无 GPU 时推理全压 CPU换更小规格的对话模型或调小.env里的BATCH_EMBED_SIZE换内存比换硬件见效快。下一步与延伸阅读至此你已在一台不碰外网的机器上跑起了完整的本地化部署解析、检索、推理全在本地数据不出机器。两件值得接着做的事给数据卷挂独立磁盘并定期备份把 Ollama 指向内网显存最大的那台机器做模型负载分担。仓库内资料部署脚本启动、停止、环境检查都在这里scripts/start_all.sh配置模板.env.example运行时配置解析与检索行为微调改它免重建镜像config/config.yaml常见问题与运维docs/QA.md分块与解析细节docs/CHUNKING.md【免费下载链接】WeKnoraOpen-source LLM knowledge platform: turn raw documents into a queryable RAG, an autonomous reasoning agent, and a self-maintaining Wiki.项目地址: https://gitcode.com/GitHub_Trending/we/WeKnora创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考