
WeKnora 离线部署实操指南内网机器上 30 分钟跑起一个可用的知识库【免费下载链接】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想象一下这样的场景你拿到一台完全断网的服务器领导要求把公司几百份内部文档变成能问能答的系统但文档里的数据一个字都不许出内网。这篇文章就是带你在这台机器上用 docker compose 把 WeKnora 这套开源 LLM 知识平台文档解析、向量检索、RAG 问答、自主推理 Agent完整装起来。全文按准备 → 装起来 → 跑起来 → 查得懂的顺序推进每一步都给出可复制的命令和明确的验收信号装完你就能对着自己的知识库提问了。第一步动手前先把环境过一遍先别急着拉镜像。WeKnora 的核心组件包括 app后端、frontendWeb 界面、postgresParadeDB 向量库、redis 和 docreader文档解析服务容器数量多资源不够时最容易出现起来了但卡死的假象。建议机器至少有 8 核 CPU、32GB 内存磁盘留足 100GB 以上镜像、数据库和文档都会占空间。如果机器还没断网先装好 Docker版本 ≥ 20.10和 Compose v2 插件docker --version docker compose version两条命令都能正常输出版本号这步就算过了。已经断网的机器跳过安装直接确认上面两条命令可用即可——这也是唯一的前置依赖。第二步断网机器上的资源准备这一步决定了你后面要不要返工。断网部署最容易踩的坑不是代码而是启动脚本默认要联网拉东西。WeKnora 有两类外部依赖需要提前处理Docker 镜像frontend、app、docreader 及 paradedb/redis 等基础镜像需要在一台能联网的机器上先docker save导出再拷贝到内网docker load导入大模型WeKnora 通过 Ollama 做本地推理模型权重embedding 对话模型同样要先下载好再传进去。仓库代码本身用 git 获取内网可直接用离线包替换这一步git clone https://gitcode.com/GitHub_Trending/we/WeKnora cd WeKnora第三步配置环境变量只做必要修改所有部署参数都收敛在一个.env文件里从模板复制即可cp .env.example .env模板里大部分值已经可用你真正需要关心的是这几个其余保持默认变量模板默认值说明DB_USER/DB_PASSWORD/DB_NAMEpostgres / postgres123!# / WeKnora数据库凭证生产环境建议改REDIS_PASSWORDredis123!#同上STORAGE_TYPElocal本地存储断网环境保持 local 即可OLLAMA_BASE_URLhttp://host.docker.internal:11434指向宿主机上的 OllamaSYSTEM_AES_KEY32 字节占位值API Key 等敏感字段的落盘加密密钥必须保留 32 字节且别弄丢丢了已加密数据无法恢复改完先自检一遍仓库自带的检查脚本会逐项报告缺失的变量./scripts/check-env.sh输出里所有数据库、Redis、Ollama 配置项都显示通过再往下走。第四步启动服务集群并验证先起 Ollama断网环境下模型已导入这一步只是拉起服务ollama serve /dev/null 21 curl http://localhost:11434/api/tags第二条命令返回 JSON哪怕模型列表为空说明 Ollama 在监听。然后在仓库根目录启动容器docker compose pull docker compose up -d断网机器上如果镜像已离线导入用项目脚本跳过联网拉取它还会顺带检查 Ollama 并把容器日志接出来./scripts/start_all.sh --no-pull验收信号看两个。一是容器状态核心四个app、frontend、postgres、redis、docreader全部是 Updocker compose ps二是后端健康检查compose 文件里给 app 配了/health探针直接探它curl -f http://localhost:8080/health返回成功即说明后端真的就绪了。此时浏览器打开 http://localhost看到注册/登录页而不是报错部署侧的工作就全部完成了。第五步接上模型把知识库用起来服务通了不等于能问答。打开 Web 界面后按这个顺序走一遍注册账号进入空间后在模型设置里添加 Ollama 厂商把地址填成容器内可达的http://host.docker.internal:11434分别指定一个对话模型和一个 embedding 模型。embedding 模型决定向量维度内置 pgvector 索引按 1024 维优化bge-m3 这类模型正好匹配对话模型按内存选 7B 级别的即可新建知识库上传一份内部 PDF等解析状态变成成功。最后发起一次提问答案要能引用你上传文档里的具体段落而不是泛泛而谈。能做到这一点说明解析 → 分块 → 向量化 → 混合检索 → 生成的完整链路已经闭环。之后按需叠加功能docker compose --profile neo4j up -d加知识图谱--profile minio换对象存储--profile full一次性拉满。第六步出错了从哪里查日常维护记住三条排查路径就够服务起不来docker compose ps找不健康的容器docker compose logs app看最后 50 行日志90% 的情况是.env里某个必填变量为空或端口被占文档解析失败或卡在处理中解析由独立的 docreader 容器完成日志在docker compose logs docreader上传单文件默认上限 50MBMAX_FILE_SIZE_MB可调配置改完不生效改.env后必须docker compose up -d重建容器才会注入只重启进程不重读变量。更多边界情况PaddleOCR 平台兼容、SSRF 白名单、pgvector 索引重建等都写在官方 FAQ 里照着编号查比翻日志快。装好之后还能做什么把知识库接入企业 IM在设置里配置飞书/企业微信等频道文档问答直接搬进工作群开启知识图谱neo4j profile后体验文档间的关联可视化长文档梳理特别直观用平台级 API Key 把检索能力暴露给内部系统配合 docs/api/README.md 的接口文档做二次集成。关键资料docs/QA.md常见问题排查、website-docs/完整产品文档、config/config.yaml解析与模型配置。【免费下载链接】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),仅供参考