ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

WeKnora 本地化部署指南:在断网服务器上用 Docker Compose 与 Ollama 搭好离线 RAG 问答

WeKnora 本地化部署指南:在断网服务器上用 Docker Compose 与 Ollama 搭好离线 RAG 问答 WeKnora 本地化部署指南在断网服务器上用 Docker Compose 与 Ollama 搭好离线 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还能自动生成 Wiki。当机器在内网、数据不能出机器时它允许文档解析、向量检索、模型推理全部落在本机完成——这就是做本地化部署的价值。读完本文你将在一台不碰外网的机器上跑起完整链路容器集群、本地模型、带引用出处的问答。断网场景下 WeKnora 能替你解决什么它把整条 RAG 链路搬到了本地标准部署由 scripts/start_all.sh 用 Docker Compose 拉起五个核心容器前端、app、postgresParadeDB、docreader、redis。解析和检索发生在 docreader 与 app 里模型调用指向 Ollama——全链路没有任何必须回连公网的环节拔网线后问答照跑。三类读者值得做离线内网部署机器连不上外网单位内网、机房服务器云端模型 API 调不通本地化部署是唯一可行路径。数据合规要求文件不出机器金融、政务、医疗文档走第三方 API 过不了审计私有化后文件只落自己的磁盘。学习检索链路或给小团队试点单机 Docker Compose 够用不需要 Kubernetes 级别的编排。如果你只需要个人尝鲜先看 Lite 版本不需要同步共享空间、多成员协作时Lite 版本是更轻的替代单应用、零外部依赖、免注册、开箱即用。两者差异解析引擎矩阵、数据归属、网络暴露逐项对比见 docs/LITE.md。离线部署的依赖与硬件基线软件与硬件对照表项目最低建议说明Docker / Compose≥20.10 / v2启动脚本自动探测docker compose或docker-composeOllama宿主机脚本检测到未安装会自动装但离线机器必须提前备CPU / 内存8 核 / 32GB7B 对话模型推理建议留 16GB 以上可用内存磁盘200GB镜像、模型、解析产物都写盘联网机备料、目标机部署的正确姿势首次拉镜像和模型必须联网。真正无网的目标机上现拉必然失败正确做法是在一台联网机器上完成两件事docker pull 按 docker-compose.yml 中的镜像清单逐一拉取 docker save -o weknora-images.tar 镜像名 ollama pull bge-m3 ollama pull qwen2.5:7b再把weknora-images.tar与模型文件拷到目标机用docker load导入。镜像没备齐时启动报找不到镜像而不是网络超时——这也是离线部署常见的第一个坑。从代码到启动本地化的四段操作拿代码生成配置git clone https://gitcode.com/GitHub_Trending/we/WeKnora cd WeKnora cp .env.example .env整套部署只有一个配置入口模板为 .env.example每项带注释。config/config.yaml 会被直接挂载进 app 容器后续想微调解析与检索行为改它即可不用重建镜像。五个必须确认的关键变量STORAGE_TYPElocal文件存容器挂载的本地目录不引入对象存储离线场景保持默认OLLAMA_BASE_URL容器内访问宿主机 Ollama 要用http://host.docker.internal:11434默认值写localhost会指向容器自身这是连通性问题的头号来源DB_PASSWORD、REDIS_PASSWORD、SYSTEM_AES_KEY模板里的postgres123!#等只是示例值务必换成自己生成的值内网环境同样有被横向利用的风险。一条命令启动理解 --no-pull 的含义./scripts/start_all.sh --no-pull脚本依次做三件事确认 Ollama 在跑远程地址则跳过本地安装、校验.env完整、compose up --build -d拉起容器。--no-pull表示跳过拉取、直接用本地镜像——离线部署的关键开关在有网环境去掉它即可。启动前可先跑./scripts/start_all.sh -c做环境自检它会逐项报告 Docker、Ollama、沙箱镜像、磁盘与内存状态。两个 Ollama 模型嵌入加对话嵌入用bge-m31024 维PostgreSQL 侧迁移已为其建好 HNSW 索引对话用qwen2.5:7b或你已有的任意模型。无网机器上这两步要在联网机执行、导出权重文件拷入目标机后再导入。模型缺位时 app 只告警不崩OLLAMA_OPTIONALtrue默认生效服务能起但问答不可用——所以别把容器全绿当成部署完成。验收清单五项动作确认 RAG 链路全通按顺序执行每项给出通过标准运行docker compose psWeKnora-app、WeKnora-postgres、WeKnora-docreader 等状态均为 Up无 Restarting。运行curl -f http://localhost:8080/health返回 200后端健康检查通过。浏览器打开http://localhost前端默认 80 端口默认开放注册注册并登录首个账号。新建知识库并上传一份 PDF解析状态在数分钟内变为完成卡住时看docker compose logs docreader。在问答页提问这份文档主要讲什么回答带引用出处链路全通。排障手册与性能调优入口三个最高频故障按现象 → 原因 → 处理排查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看解析器报的具体格式错误分块与解析细节见 docs/CHUNKING.md。问答慢无 GPU 时推理全压 CPU。两个见效快的调优入口——换更小的对话模型或在.env调小BATCH_EMBED_SIZE换内存压力再往下才是知识库 top_k 召回数量配置集中在 .env.example 与 config/config.yaml。更多运维问题迁移、模型配置、向量库可查 docs/QA.md。部署之后的两件事给数据卷挂独立磁盘并纳入定期备份再把OLLAMA_BASE_URL指向内网显存最大的那台机器做模型负载分担——内网多机后单点内存瓶颈是离线 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/WeKnora创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进