WeKnora 断网部署:内网机器跑通本地文档问答
2026/9/6 20:20:02 网站建设 项目流程

WeKnora 断网部署:内网机器跑通本地文档问答

【免费下载链接】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。这篇带你把它在一台断网机器上完整跑起来。

它到底干什么

一套系统,从原始文档到问答答案:

  • 解析 PDF、Word、Excel、网页等格式,切成可检索的 chunk
  • 用本地模型做向量化,写入 Postgres(ParadeDB)混合检索
  • 本地跑 LLM 推理,回答带来源 chunk 引用
  • agent 模式调工具、执行技能,还能自己写 wiki 页面
  • 通过 Web 界面、IM 渠道、MCP、CLI 暴露问答接口

跑起来之前:先备齐这些

硬件底线

配置CPU内存磁盘
最低配置8 核32 GB200 GB(SSD)
推荐配置16 核64 GB500 GB(SSD)

软件依赖

  • Docker Engine 20.10+
  • Docker Compose v2+
  • Ollama(跑在宿主机)

从零到跑通

前提:镜像包和模型文件已提前备进内网(在有网机器docker save导出,拷过去docker load);能通内网源的话这步可以省。

1. 拉代码

把代码拷进服务器,进到项目根目录。

git clone https://gitcode.com/GitHub_Trending/we/WeKnora cd WeKnora

ls能看到docker-compose.yml.env.example就对了。

2. 改几行配置

配置模板的默认值基本就是为离线准备的,确认三行关键项即可。

cp .env.example .env # .env 里确认这三行(默认已是该值,被改过就改回来) # STORAGE_TYPE=local # OLLAMA_OPTIONAL=true # OLLAMA_BASE_URL=http://host.docker.internal:11434

grep -E "STORAGE_TYPE|OLLAMA" .env查到的值是 local、true、host.docker.internal:11434 就对了。

3. 备好模型

在宿主机上把两个模型加载进 Ollama(模型文件提前拷入的话,解压到模型目录即可,跳过 pull)。

ollama pull bge-m3 # 嵌入模型 ollama pull qwen2.5:7b # 对话模型

ollama list里两个模型名都出现,就对了。

4. 点火

用仓库自带的启动脚本拉起全部容器,--no-pull让它用本地镜像、不往网上拉。

./scripts/start_all.sh --no-pull

脚本先尝试启动 Ollama(已有服务就复用),再经 compose 起 frontend、app、docreader、postgres、redis 等容器,首次要等迁移跑完,几分钟属正常。

5. 确认全绿

两条命令,一个看容器,一个探后端。

docker compose ps curl -sf http://localhost:8080/health

容器全 Up(healthy),curl无报错,浏览器开 http://localhost 能看到登录页,就对了。

第一次用起来

部署通过后,按最短路径把它用起来:

  1. 打开 http://localhost,注册账号,初始化向导里选 Ollama 当模型服务,填前面拉的两个模型
  2. 新建知识库,拖入第一个文档
  3. 等解析完成,文档列表里能看到 chunk 数和状态
  4. 在问答框问"这份合同的关键点是什么",核对回答是否引用了来源 chunk

卡住了 / 想更快

卡住了

现象一条命令或一个动作
起不来、报不清./scripts/start_all.sh -c跑一遍环境诊断
app 容器反复重启docker compose logs app看最后一条报错
找不到模型 / 回答乱ollama list核对模型名与配置一致
文档卡在解析中docker compose logs docreader

想更快

  • 换 4-bit 量化模型,内存占用省一大截
  • 给机器挂 GPU,推理走 CUDA
  • 调小 chunk 数,向量化完成得更快
  • .env里的CONCURRENCY_POOL_SIZE控制解析并发

下一步

  • 可以接上企业微信、飞书等 IM 渠道,直接在群里提问
  • 可以开启 Langfuse,看每次问答的 token 消耗
  • 可以用仓库里的 mcp-server 把问答能力暴露给别的工具
  • 可以定期备份 contenteditable="false">【免费下载链接】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),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询