ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

WeKnora 本地部署:Docker + Ollama 三步跑起离线文档问答

WeKnora 本地部署:Docker + Ollama 三步跑起离线文档问答 WeKnora 本地部署Docker Ollama 三步跑起离线文档问答【免费下载链接】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 本地部署从零跑通。看完你将拥有一台完全离线的文档问答系统文档解析、向量检索、模型推理全部发生在自己的磁盘上。先花 30 秒判断这事该不该你做回答三个问题自测问题命中意味着你的机器连不上外网或数据绝对不能出机器云端模型 API 用不了或过不了合规本地部署是刚需你只做单机试点不打算上多节点集群单机 Docker Compose 足够不需要 Kubernetes 那套重型编排你手边有一台能上网的机器可以代劳离线部署唯一的联网窗口靠它提前备好镜像和模型三个都命中继续往下读。如果你只是个人尝鲜、不需要多空间协作没必要拉这一整套容器——去看单应用、零依赖的 Lite 版本入口在 docs/LITE.md部署轻得多。开工前自检表软件、硬件、网络窗口软件和硬件各一张清单缺一项就先补齐再动手项目要求说明Docker≥ 20.10容器运行时Docker Composev2多容器编排Git任意版本拉代码用Ollama不用提前装启动脚本会自动安装CPU / 内存8 核 32GB 起步模型推理主要吃内存跑 7B 对话模型建议留 16GB 以上可用磁盘预留 200GB镜像、模型、文档解析产物都往盘上写⚠️ 全文最重要的一个事实首次拉镜像、拉模型必须联网。真正的无网环境正确姿势是一台联网机器下载好所有东西docker save打包镜像、导出模型文件拷到目标机再部署而不是在目标机上现拉。记住这个网络窗口后面每个阶段都会用到它。主线三个阶段从零跑通阶段一拿代码填唯一一份配置先把仓库克隆下来复制出配置文件git clone https://gitcode.com/GitHub_Trending/we/WeKnora cd WeKnora cp .env.example .env为什么是 .env整个部署只有这一个配置入口。数据库密码、存储类型、Ollama 地址全在这一个文件里模板每一项都带注释照着填即可。重点改四处其余保持默认STORAGE_TYPE保持local文件直接落在容器挂载的本地目录不引入 MinIO、OSS 这类对象存储链路最短OLLAMA_BASE_URL单机默认值http://host.docker.internal:11434就能让容器找到宿主机的 Ollama。这个域名是 Docker 专门给容器访问宿主机用的占位符后面坑位二还会再讲DB_PASSWORD、REDIS_PASSWORD、SYSTEM_AES_KEY换成自己生成的值。内网部署也照样要换模板里的示例值不能当生产密码用其余别动。另外注意 config/config.yaml 会被直接挂载进 app 容器——解析和检索行为想微调时改这个文件就行不用重建镜像。阶段二一条命令点亮全栈./scripts/start_all.sh --no-pull这个脚本把三件事串起来了确认 Ollama 在跑、检查 .env 是否齐全、再用 compose 拉起前端、app、postgres、docreader、redis 这批容器。--no-pull是离线部署的关键开关——不联网拉镜像直接用本地已有的第一次在有网机器上部署则去掉这个参数。动手前想先摸底可以跑./scripts/start_all.sh -c做一次环境自检缺什么它会直接告诉你。 脚本末尾打印出前端界面: http://localhost和API接口: http://localhost:8080集群就起来了。阶段三把两个模型放进 Ollama问答链路需要两个模型分工不同ollama pull bge-m3 # 嵌入模型把文本变成向量做相似度检索 ollama pull qwen2.5:7b # 对话模型换成你已有的模型名嵌入模型负责读懂文档片段并生成向量对话模型负责基于检索结果组织答案一个都不能少。⚠️ 无网机器上这两步要在联网机器执行导出模型文件拷过来再导入。模型没就位时 app 只会告警、不会崩但问答功能暂时用不了——所以离线部署要把模型和镜像放在同一个网络窗口里备好。五分钟验收清单五道关全过才算跑通按顺序做每道都有明确的通过标准docker compose ps所有容器状态为 Up。重点核对 WeKnora-app、WeKnora-postgres、WeKnora-docreader 三个看到 Restarting 就不合格终端执行curl -f http://localhost:8080/health返回 200后端健康检查通过浏览器打开 http://localhost默认开放注册注册并登录第一个账号页面能正常进后台新建一个知识库上传一份 PDF等解析状态变成完成说明 docreader 解析链路通了在问答页问一句这份文档主要讲什么能拿到带引用出处的回答从检索到生成整条链路全通。三个最高频的坑症状、原因、处理app 容器反复重启日志刷着 Ollama 连不上。症状很典型。原因要么是 Ollama 本身没活着要么是OLLAMA_BASE_URL在容器内误写了localhost。处理先在宿主机执行curl http://localhost:11434/api/tags确认 Ollama 活着再把 .env 里改成host.docker.internal——容器里的localhost指的是容器自己不是宿主机。上传文档直接被拒。原因是默认单文件上限 50MBMAX_FILE_SIZE_MB超限直接拒绝。处理文件没超限时看docker compose logs docreader解析器会报出具体是哪种格式不支持真超限就调大限额或拆分文件。问答慢得没法用。原因是没有 GPU 时推理全压在 CPU 上。处理换一个更小的对话模型或把 .env 里的BATCH_EMBED_SIZE调小换内存通常比换硬件见效快。想继续压性能优先动三处对话模型规格、嵌入批次大小、知识库 top_k 召回数量——都集中在 .env 和 config/config.yaml 里改完不用重建镜像。收尾你拿到了什么下一步去哪到这里你已经在一台不碰外网的机器上跑通了完整的 WeKnora 本地部署文档解析、向量检索、模型推理全在本地数据不出机器。想继续深入按这份仓库内清单读部署脚本scripts/start_all.sh启动、停止、环境检查都在这里配置模板.env.example 与 config/config.yaml常见问题与运维docs/QA.md分块与解析细节docs/CHUNKING.md两件值得紧接着做的事给数据卷挂独立磁盘并定期备份把 Ollama 指向内网里显存最大的那台机器做模型负载分担。【免费下载链接】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),仅供参考
返回列表