WeKnora 本地部署指南:3 步搭好私有 RAG 知识库

📅 发布时间:2026/10/19 12:01:38
WeKnora 本地部署指南:3 步搭好私有 RAG 知识库
WeKnora 本地部署指南3 步搭好私有 RAG 知识库【免费下载链接】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照着本文操作约 30 分钟你能得到一台可提问的 WeKnora 实例文档解析、向量检索、RAG 问答全链路在你自己的机器上跑通标准版首次拉取镜像另需 10–20 分钟取决于网速。它适合不想把内部资料交给第三方 API 的个人和小团队所有数据留在本地部署完当天就能导入自己的资料。H2 部署前准备环境与路线WeKnora 有两条部署路线Lite 单机版是「一个二进制 一个 SQLite 文件」标准版是 Docker Compose 多容器栈app、docreader、postgres 等。先按下表定位后文以标准版为主线展开。对比维度标准版Docker ComposeLite 单机版运行依赖Docker Docker Compose构建期需 Go 工具链 Node运行期零外部服务账号模型注册登录多空间按 RBAC 协作单空间开箱即用无需注册解析引擎多种解析引擎可选链路完整内置 Simple 引擎可另接 Cloud 方式硬件参考8 核 16GB 更从容4 核 8GB 起步网络暴露按部署策略自行绑定地址默认仅本机访问默认推荐标准版镜像开箱即用不用本地装构建工具链多空间协作也齐。如果你的诉求只是「在本机离线问答自己的文档、绝不联网」选 Lite。两条路线都建议搭配 Ollama 跑本地模型实现完全离线推理已有云端模型 API 的话Lite 通过环境变量指向它即可。H2 安装3 步跑起来第 1 步拉取代码并进入目录git clone https://gitcode.com/GitHub_Trending/we/WeKnora cd WeKnora你会看到当前目录下出现Makefile、docker-compose.yml、.env.example、.env.lite.example等文件。第 2 步生成配置并修改cp .env.example .env用编辑器打开.env标准版只需确认两处OLLAMA_BASE_URL在容器内必须指向http://host.docker.internal:11434文件默认值已正确不要改成127.0.0.1SYSTEM_AES_KEY填入openssl rand -hex 32生成的值。LLM 与 Embedding 模型不用写在环境变量里启动后在「设置 → 模型」页面配置即可。如果你选的是 Lite执行cp .env.lite.example .env.lite然后改两处——OLLAMA_BASE_URL保持http://127.0.0.1:11434SYSTEM_AES_KEY与JWT_SECRET换成自己生成的值。第 3 步启动docker compose pull docker compose up -d你会看到docker 终端开始拉取 frontend、app、docreader、postgres、redis 等镜像数分钟后全部容器进入运行状态。如果你选的是 Lite执行make run-lite它先构建前端再编译 Go 二进制首次约 5–10 分钟构建期间建议让挂 GPU 的 Ollama 并行ollama serve。H2 装完先过这 4 关部署验证四项全过再导资料否则后面对错号方向。页面能打开。通过标准浏览器访问http://localhost前端端口由FRONTEND_PORT控制默认 80出现登录/注册页。第一排查点跑docker compose ps看 app 是否卡在 restarting是的话接着看docker compose logs -f app。模型连通。通过标准在设置页对 LLM 与 Embedding 分别点测试两项都返回成功。第一排查点ollama list确认模型已拉取且标准版容器内的地址是host.docker.internal:11434而不是127.0.0.1。能上传。通过标准新建一个文档知识库拖入一份 PDF几秒后状态从处理中变为完成。第一排查点Embedding 模型没配对回设置页重测模型。能提问。通过标准就刚上传的文档问一个事实性问题回答末尾带来源引用段落。第一排查点检查回答是否引用了无关文档若是说明向量检索没建好重新查看该文档的解析状态。H2 上手3 个真实场景场景一上传一批文档做混合检索。想做什么把散落的制度文档、技术手册变成可搜索的库。 怎么操作新建文档知识库后直接拖入文件支持框选多选和批量打标签。 你会看到上传目录结构被保留成文件夹树检索时向量与关键词并行召回返回带出处的原文片段。场景二提问并回溯原文出处。想做什么确认某条报销规定的准确口径。 怎么操作在知识库问答模式下提问高频问题可以单独建 FAQ 类知识库固定答案。 你会看到模型先检索相关段落再组织回答回答可逐段回溯到原文。场景三改一个检索块并回滚。想做什么发现某个检索块是错版内容。 怎么操作在文档详情页进入分块编辑直接改内容。 你会看到改完自动重建索引下一次检索立刻生效界面保留版本历史支持 diff 和回滚。H2 卡住了按顺序自查问题排障Web 页面打不开常见原因端口被占用或容器未就绪。 处理查.env中FRONTEND_PORT的映射值再依次看docker compose ps与docker compose logs -f app的报错。模型测试失败常见原因Ollama 没启动或地址写错。 处理确认ollama serve在跑、ollama list有目标模型Lite 用127.0.0.1:11434标准版容器内必须用host.docker.internal:11434。上传后一直停在「处理中」常见原因Embedding 模型没配好或解析任务挂死。 处理回设置页重测 Embedding 模型到解析追踪时间线里看卡在哪一阶段确认挂死就点「中止解析」再重新上传。图片显示为无效链接常见原因存储后端对外不可达。 处理Lite 默认STORAGE_TYPElocal不会遇到标准版若切到 MinIO给它配一个外部可达的 endpointMINIO_ENDPOINT等变量见.env.example注释。刚保存的配置几秒后消失常见原因登录账号与空间归属不一致你在别人的空间里改配置。 处理切回自己创建的空间再操作。H2 进阶与延伸文档量上来后按顺序调这 4 个参数BATCH_EMBED_SIZE建议设 64。一次请求向量化 64 条明显减少与 Ollama 的往返次数。DOCREADER_GRPC_MAX_WORKERS设为 CPU 核数默认 4。解析是 CPU 密集型任务并行度直接缩短排队时间。CONCURRENCY_POOL_SIZE控制在 3–8默认 5。太高挤占内存拖慢在线问答太低拖慢入库。模型参数里的num_ctx按所选模型上限调大。上下文足够时检索片段不被截断长文档问答更稳。用 8B 级本地模型时记住这个互斥权衡要单条回答质量就加大num_ctx要整体吞吐就压低CONCURRENCY_POOL_SIZE、分批入库两者不能同时要满。延伸入口都在仓库内docs/LITE.mdLite 与标准版逐条差异表选型摇摆时看这篇。docs/README.md仓库文档目录总览排障与 API 文档的索引。client/example.goGo 客户端示例写上传与检索脚本时直接照抄结构。website-docs/README.md完整产品文档站入口覆盖 API 端点与环境变量说明。下一步先导入 10–20 份最高频的文档用 5 个真实问题校准检索与回答质量确认满意后再用docker compose --profile minio、--profile neo4j等按需加可选服务扩展标准版。【免费下载链接】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),仅供参考