断网也能问答:WeKnora 本地离线部署 5 容器实操

发布时间:2026/9/11 5:18:07
断网也能问答:WeKnora 本地离线部署 5 容器实操 断网也能问答WeKnora 本地离线部署 5 容器实操【免费下载链接】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文档里的答案不该被一道外网墙拦住。WeKnora 是一个开源 LLM 知识平台离线部署后解析、检索、推理全部留在本机文档变成可查的 RAG 知识库问答 Agent 自主推理Wiki 自动维护。下文用 Docker 和 Ollama 把它跑起来——五个容器加一个宿主机模型服务全在自己的机器上。五个容器 一个模型服务各管哪段链路组件角色WeKnora-frontend80 端口的 Nginx 静态站WeKnora-appGo 后端8080 端口/health提供探活WeKnora-docreader文档解析gRPC 50051WeKnora-postgres业务数据兼 pgvector 向量库WeKnora-redis任务队列与流处理Ollama宿主机嵌入与对话模型推理11434 端口app 容器直接挂载 config/config.yaml想微调解析或检索行为时改这个文件、重启容器即可不用重建镜像。离线环境的备料清单硬件底线8 核 / 32GB 内存7B 对话模型推理吃内存可用内存留足 16GB。磁盘留 200GB 空间够放镜像、模型和解析输出。⚠️ 真正的联网窗口只有首次拉镜像、拉模型这一次。正确做法在联网机器上下齐全部物料搬运到目标机部署动作全部发生在目标机上。物料联网机器上的动作到离线机app / frontend / docreader / postgres / redis 镜像docker save打成 tardocker load导入bge-m3、qwen2.5:7bollama pull后导出模型文件拷入 Ollama 模型目录仓库代码与 .envclone 并填好配置整体拷贝Agent Skills 用到的沙箱镜像是可选件缺失只会告警、不阻塞启动。改 .env只动七个变量git clone https://gitcode.com/GitHub_Trending/we/WeKnora cd WeKnora cp .env.example .env这套部署的配置入口只有一个文件.env.example 模板每项都带注释照抄再改值即可变量建议值作用STORAGE_TYPElocal文件落容器挂载目录不接对象存储OLLAMA_BASE_URLhttp://host.docker.internal:11434app 容器访问宿主机 Ollama 的地址DB_PASSWORD自行生成postgres 密码模板里是公开示例REDIS_PASSWORD自行生成redis 密码同上SYSTEM_AES_KEY自行生成须 32 字节数据库内 API Key 等敏感字段的加密密钥MAX_FILE_SIZE_MB默认 50大文件调大单文件上传上限四层启动时各读一次运行中改不生效BATCH_EMBED_SIZE默认即可内存吃紧调小单次批量嵌入的条数模型拉好后用 --no-pull 启动ollama pull bge-m3 ollama pull qwen2.5:7bbge-m3 管嵌入1024 维qwen2.5:7b 管对话可换成你已有的任何模型。⚠️ 离线机上这两条命令要在联网机器执行、导出模型文件、拷贝后再导入模型缺席时 app 启动不阻断只是问答入口暂时哑掉。./scripts/start_all.sh --no-pull--no-pull跳过联网拉取直接用本地镜像首次在有网机器部署则去掉该参数。动手前可先跑 scripts/start_all.sh 的-c参数做一次自检。 脚本收尾处会列出两个访问地址——前端http://localhost、APIhttp://localhost:8080——集群就绪。五条链路验收从容器状态到带引用的回答docker compose ps五个容器全为 Up盯住 WeKnora-app、WeKnora-postgres、WeKnora-docreader终端执行curl -f http://localhost:8080/health返回 200 说明后端存活浏览器访问http://localhost注册默认开放建第一个账号登录新建知识库传一份 PDF等解析状态翻成“完成”问答页提问“这份文档主要讲什么”回答带上引用出处链路全通。三个高频卡点Ollama 失联、上传被拒、问答慢app 反复重启、日志刷 Ollama 连不上宿主机执行curl http://localhost:11434/api/tags确认 Ollama 进程活着再核对OLLAMA_BASE_URL——容器访问宿主机必须写host.docker.internal填localhost会指向容器自身。上传失败MAX_FILE_SIZE_MB默认 50MB超限会被直接拒收没超限就看docker compose logs docreader输出会指明不支持的具体格式。问答慢没有 GPU 时推理全走 CPU——换更小的对话模型或调小BATCH_EMBED_SIZE省内存见效比换硬件快。更多运维问题见 docs/QA.md解析与分块细节见 docs/CHUNKING.md。部署完成后的两个动作把 postgres 数据卷和/data/files挪到独立磁盘纳入日常备份内网有显存更大的机器把OLLAMA_BASE_URL指向它推理负载移过去。不需要多空间协作的话更轻的形态是 Lite 版本单应用零依赖区别见 docs/LITE.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),仅供参考