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 知识平台,能把原始文档变成可检索的知识库、问答智能体和自维护的 Wiki。这篇实操带你在一台机器上把 WeKnora 本地部署完整跑通:文档解析、向量化、答案生成全部发生在自己的硬件上,数据不出本机。跑起来之后,你就可以直接对内部资料做文档问答。
为什么把知识库放在自己的机器上
不少团队想把制度文档、合同模板、产品手册做成可问答的资料库,又担心内容被送进第三方服务。本地部署让这件事不存在顾虑:请求和数据都留在同一台机器里,断网也能用。
内部流程是:独立的 docreader 服务先解析文档,切成小块,再把文字转成向量(把一段话的意思变成一串数字,方便比较哪两段话更相似)后存库。提问时,它取出相关段落,交给模型组织回答。模型提供方、向量库、文件存储都可以单独替换,换掉一个组件不影响其他部分。
先做选择:Lite版还是标准版
WeKnora 有两种部署形态,先定形态,再谈配置:
| 形态 | 部署方式 | 数据存在哪 | 适合谁 |
|---|---|---|---|
| Lite 版 | 单个二进制 + 内置 SQLite | 一个 SQLite 文件和两个本地目录 | 单人试用、内网小团队 |
| 标准版 | Docker Compose 多容器 | Postgres,可选 MinIO、Neo4j | 多人协作、长期运行 |
Lite 版零外部依赖,默认仅本机可访问;标准版需要提前装好 Docker 和 Compose。计划跑 8B 级本地模型的话,8 核 16GB 内存、50GB 磁盘、8GB 以上显存会更从容。
⚙️ Lite版一键启动
第一条命令下载源码并进入目录:
git clone https://gitcode.com/GitHub_Trending/we/WeKnora cd WeKnora第二条命令复制配置模板。改.env.lite里的三处:OLLAMA_BASE_URL指向本机 Ollama,TENANT_AES_KEY与JWT_SECRET换成自己的值:
cp .env.lite.example .env.lite第三条命令先构建前端和 Go 二进制再启动,完成后终端会打印本机地址,浏览器打开就是 Web 页面:
make run-lite走标准版则执行cp .env.example .env编辑配置,再跑docker compose pull && docker compose up -d,访问http://localhost即可。
跑通之后,你能直接干什么
- 混合检索:输入一句话,系统并行做向量检索和关键词检索,返回带来源引用的原文片段。
- 答案可回溯:知识库指向问答模式后,先检索相关段落,再由模型组织回答,回答能落到原文段落上。高频问题可以单独建 FAQ 类知识库固定口径。
- 编辑与回滚:每个检索块都能编辑,版本历史支持 diff 和一键回滚,改动后自动重建索引,下一次检索立刻生效。
离线部署常见问题排查
先说现象,再说原因:
- Web 页面打不开:端口被占或容器没就绪。检查
.env里的端口,用docker compose ps看容器状态。 - 模型测试失败:Ollama 没启动或地址不对。Lite 版指向
127.0.0.1:11434,标准版容器内要指向宿主机网关。 - 文档一直停在"处理中":解析超时或队列积压。看日志,对照 docs/QA.md 第 14 条处理。
- 图片显示为无效链接:存储后端对外不可达。改用本地存储
STORAGE_TYPE=local,或给 MinIO 配外部可达地址。 - 刚保存的配置几秒后消失:登录账号与空间归属不一致。对照 docs/QA.md 第 7 条,确认在正确的空间下操作。
本地 8B 模型提速清单
- 加大向量批量
BATCH_EMBED_SIZE=64:批量入库时减少与 Ollama 的往返次数。 - 提高解析并发:把
DOCREADER_GRPC_MAX_WORKERS设为 CPU 核数,解析是 CPU 密集任务,并行度直接缩短排队时间。 - 收敛任务并发:
CONCURRENCY_POOL_SIZE控制在 3 到 8 之间,避免任务突进占满内存拖慢问答。 - 扩大模型上下文:在模型参数里写入
num_ctx,长文档不被截断,检索片段更完整。
用 8B 级本地模型时记住一个权衡:想提高单条回答质量就加上下文,想提高并发吞吐就降并发、分批入库。下一步建议先导入十到二十份高频文档,用真实问题校准检索与回答质量,再决定是否上标准版多容器部署;团队引入前先读 docs/RBAC说明.md,用 Go 写上传与检索程序可参考 client/example.go。
【免费下载链接】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),仅供参考