
企业内网 30 分钟部署 WeKnora把部门文档变成 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这篇指南面向中小型企业内网把散落在各部门的产品手册、制度文档、FAQ 变成一套可检索、可问答的 RAG检索增强生成知识库。用 Docker Compose 一条命令拉起 WeKnora注册即用支持多部门权限隔离与知识图谱。部署完成后员工直接提问退款流程是什么系统从文档里召回对应章节给出带出处的回答。开始之前一份自检清单 硬件、软件、网络合并成一张清单逐项打勾即可不必逐节展开。硬件4 核 CPU / 8GB 内存起步docreader 内含 LibreOffice、Playwright较吃内存磁盘按知识库规模预留要装下 Postgres 数据卷和/data/files文件卷。软件Docker 20.10、Docker Compose v2v1 的docker-compose也兼容启动脚本会自动探测。网络如需让全公司访问向网管申请开放前端 80、后端 8080 两个端口入站纯内网单机可跳过。模型二选一——本机装 Ollama或准备一个 OpenAI 兼容 APIDeepSeek、通义、智谱等。先跑一条命令确认环境就绪# 确认 Docker 与 Compose 已安装且版本可用 docker --version docker compose version动手实录四步拉起企业内网 RAG 知识库步骤一拉取仓库并生成 .env做什么把代码拉到内网服务器造出 compose 依赖的环境文件。怎么做# 克隆 WeKnora 仓库并进入目录 git clone https://gitcode.com/GitHub_Trending/we/WeKnora cd WeKnora# 从模板生成 .envapp 服务的 env_file 依赖它缺失会导致 compose 解析失败 cp .env.example .env接着编辑.env只改必填项。示例值如下生产环境请换成强随机值# .env 必填项占位值请替换为强随机值 DB_USERweknora DB_PASSWORD换成强密码 DB_NAMEweknora REDIS_PASSWORD换成强密码 JWT_SECRET用 openssl rand -hex 32 生成 SYSTEM_AES_KEY用 openssl rand -hex 32 生成必须 32 字节如何确认成功DB_USER/DB_PASSWORD/DB_NAME/REDIS_PASSWORD/JWT_SECRET/SYSTEM_AES_KEY六项都已填、无残留占位符。步骤二拉取镜像并启动服务做什么下载与版本匹配的镜像后台拉起核心服务frontend、app、docreader、postgres、redis。怎么做# 拉取镜像再后台启动核心服务只 up -d 会复用缓存旧镜像务必先 pull docker compose pull docker compose up -d如何确认成功# 查看容器状态等待全部变为 healthy / running docker compose ps再用curl http://localhost:8080/health确认后端返回就绪。步骤三注册账号、建库、传文档做什么建第一个知识库、选好模型、把真实文档传进去。怎么做浏览器打开http://服务器IP首次访问落到登录页。注册是同一页上的一个页签默认self_serve模式才会显示注册后会自动得到一个属于你自己的工作空间你在其中是 Owner。登录后新建一个知识库在弹出的初始化向导里为这个库选模型对话模型、向量模型、重排模型。WeKnora 的模型是按知识库走的没有全局一次性初始化。保存后上传部门文档。如何确认成功文档列表里上传的文档状态变为已完成说明已解析、切块并入库。步骤四可选开启多部门权限与知识图谱做什么让各部门数据互相隔离并为文档建立实体关系图谱。怎么做# 需要知识图谱时追加 neo4j 服务配合 .env 中 NEO4J_ENABLEtrue docker compose --profile neo4j up -d部门权限走空间Tenant机制默认允许普通用户自助创建空间每个空间一套独立的知识库与成员。到「设置 → 成员」里把对应同事请进本部门空间即可。如何确认成功docker compose ps里出现neo4j且为 running成员页能看到各部门空间与角色。场景调优只改这 3 处配置 ⚙️企业内网和公网部署的差别主要在存储、上传上限、注册策略其余保持默认。MAX_FILE_SIZE_MB默认 50MB。企业里常有上百页的产品手册、培训课件把这行改成MAX_FILE_SIZE_MB200改完重启app与frontend两个容器才生效。STORAGE_TYPElocalLOCAL_STORAGE_BASE_DIR内网通常没有云对象存储保持local并把LOCAL_STORAGE_BASE_DIR指向一块共享挂载目录文件就落在本地卷data-files上不依赖外网。WEKNORA_TENANT_SELF_SERVICE_CREATION_ENABLEDtrue配DISABLE_REGISTRATION先保持自助建空间为true让各部门自己开户等人员到位、确认要锁入口时把DISABLE_REGISTRATION设为true只留邀请链接一条注册通路。验收用两个部门协作场景验证场景一跨成员文档问答。部门 A 管理员上传《产品操作手册.pdf》部门 B 成员在对话里问如何申请退款系统应从手册里召回对应章节给出带引用的回答。场景二权限隔离。新成员注册后自动获得个人空间在检索框里搜本部门关键词只应返回本空间的文档看不到其他部门内容。验证点期望结果检查方式文档入库上传文档状态变已完成文档列表页语义检索提问能召回相关章节并带出处对话页引用抽屉空间隔离只返回本空间文档用两个不同账号分别搜索健康检查后端/health正常curl http://IP:8080/health踩坑日志内网部署最常见的 5 个问题 ⚠️现象docker compose up -d报解析错误。原因app服务用了env_file: .env文件缺失时 compose 直接失败。解法先执行cp .env.example .env再启动start_all.sh会自动兜底但手动跑 compose 时要自己建。现象容器反复unhealthy或界面版本和刚下载的 release 对不上。原因只跑up -d会复用本地缓存的旧镜像。解法docker compose pull拉新镜像后再docker compose up -d。现象初始化向导里 Ollama 检测失败、首次问答无结果。原因容器默认连http://host.docker.internal:11434Linux 上需extra_hosts的host-gateway生效。解法确认映射生效或改用远程 Ollama / OpenAI 兼容 API 地址。现象上传大文件返回 413 或被拒。原因Nginx 上传上限由MAX_FILE_SIZE_MB控制。解法调大该值并重启app与frontend两个容器。现象升级或重建后某些已保存的密钥显示为空、无法解密。原因SYSTEM_AES_KEY缺失或长度不足 32 字节已加密字段不可恢复。解法生产环境用openssl rand -hex 32生成并妥善保管切勿用默认值上线。收尾WeKnora 让企业内网的文档从存着变成答得上来核心靠一条docker compose up -d和多部门空间隔离。细节参数见 安装文档、快速开始、配置说明 与 RBAC 说明。【免费下载链接】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),仅供参考