WeKnora 教育版部署实践:一步步搭建校园网文档协作与语义检索平台的完整指南

WeKnora 教育版部署实践:一步步搭建校园网文档协作与语义检索平台的完整指南 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——一个开源的 RAG 知识平台上传教学文档后自动解析分块用自然语言做语义检索与问答。全程 Docker 容器化无需访问外网。先看效果部署完成后你得到什么这一节先展示最终形态让你动手前有明确目标。部署完成后的系统有三个关键能力教师上传 PDF、Word、Excel、XMind 等十余种格式的教学资料系统自动解析、分块、入库在会话界面用自然语言提问答案基于你上传的教学资料生成并附来源引用每个部门一个独立空间成员只能看到本空间的文档天然隔离。检索直接命中相关章节回答附带文档出处方便学生回看原文。环境快速自检动手前确认 6 件事部署失败的绝大多数情况都是环境没准备好。开始前花 5 分钟过一遍清单。CPU 至少 4 核、内存至少 16GB核心服务frontend、app、docreader、postgres、redis全部跑在容器里Docker 与 Compose 已安装docker --version docker compose version磁盘 100GB 以上教学文档与向量索引都需要存储端口放行80前端与 8080API对校内网段开放模型服务可用内网自建 Ollama或校园网可访问的模型 API镜像文件已备妥完全无外网时提前在别处机器docker save打包三步完成部署取代码、改配置、启动这一节是整个部署的主流程三步走每步都有可复制的命令。第一步取代码。git clone https://gitcode.com/GitHub_Trending/we/WeKnora cd WeKnora cp .env.example .env第二步改配置。为什么必须改.env里的默认值面向开发环境直接上线会有凭据与存储问题。只需关注这几项DB_PASSWORD你的数据库密码 REDIS_PASSWORDredis密码 JWT_SECRET随机字符串 SYSTEM_AES_KEY32字节密钥 # 加密API Key用丢失则已有加密字段不可恢复 STORAGE_TYPElocal # 校园网连不到S3对象存储本地存储最稳 OLLAMA_BASE_URLhttp://内网IP:11434 # 指向内网自建Ollama若要调整监听端口或分块大小改 config/config.yamlserver: port: 8080 host: 0.0.0.0 # 绑定所有网卡否则校园网端访问不到 knowledge_base: chunk_size: 512 # 默认分块大小长教案可尝试调大第三步启动。启动脚本 scripts/start_all.sh 支持--no-pull跳过镜像拉取专为封闭网络设计./scripts/start_all.sh --no-pull docker compose ps # 确认各容器均为 Up场景化配置多部门协作的三个必做项默认配置面向单人使用多部门共用时要做隔离与容量适配下面是三个最常见的调整。空间权限一个部门一个空间。WeKnora 以空间为数据隔离单位空间 RBAC 默认开启角色分 Owner、Admin、Contributor、Viewer 四级院系管理员给骨干教师配 Contributor可上传文档普通学生配 Viewer只能查阅提问。在网页空间成员页即可分配设计细节见 docs/RBAC说明.md。扫描件教案强制走 OCR。老教案多是扫描件、没有文本层在.env打开强制扫描件解析DOCREADER_PDF_FORCE_SCANNEDtrue单文件上传上限调到 100MB。教材类 PDF 动辄几十 MB默认上限是 50MBMAX_FILE_SIZE_MB100改完后执行docker compose up -d app frontend使配置生效。部署后验证5 项检查清单部署不算完成要逐项过一遍下面的验证全部通过才算真正上线。docker compose ps核心容器全部 Up 且健康检查通过curl http://服务器IP:8080/health返回正常浏览器打开http://服务器IP注册账号并创建空间成功上传一份教学 PDF文档列表状态变为解析完成发起一次提问答案生成且带来源引用。上传后文档会经历解析、分块、向量化三个阶段解析进度可直接在列表中观察。排坑指南校园网高发的 4 个问题校园网部署的坑基本集中在网络隔离上遇到时按下面的路径排查。Q拉镜像失败或超时内网连不到镜像仓库。在能上网的机器执行docker save wechatopenai/weknora-app wechatopenai/weknora-ui wechatopenai/weknora-docreader paradedb/paradedb:v0.22.2-pg17 redis:7.0-alpine打包拷贝到服务器docker load再用--no-pull启动。Q容器都 Up 了页面打不开先跑./scripts/start_all.sh -c让脚本自检环境再用docker compose logs app看.env是否漏了必填变量DB_USER、DB_PASSWORD、DB_NAME。Q检索不到任何结果两步排查确认文档解析状态是完成而非卡在处理中确认服务器到模型服务的网络连通检索问答整条链路都依赖模型服务。Q扫描件解析出来是空白设置DOCREADER_PDF_FORCE_SCANNEDtrue后对文档触发重新解析不要只改配置不管已有数据。延伸资源中文项目文档README_CN.md环境变量全量参考.env.example每个变量均有行内注释空间权限设计说明docs/RBAC说明.md开发与部署指南docs/开发指南.md【免费下载链接】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),仅供参考