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
WeKnora 是一个开源 LLM 知识平台,一句话概括它的定位:把原始文档变成三样东西——可查询的 RAG、能自主推理的智能体,以及自维护的 Wiki。它适合想在自己服务器上搭企业知识库或文档智能问答系统、又不愿让数据出内网的团队。多租户权限管理、20+ 模型提供商、8 种向量库后端、9 个 IM 渠道,都是现成的。
最快的部署方式:四步跑起来 🚀
第一次部署知识库,不用折腾环境,整个项目就是一个 Docker Compose 栈。docker-compose.yml 把前端、Go 后端、docreader 解析服务、PostgreSQL(ParadeDB)和 Redis 都打包好了,拉起来就能用:
git clone https://gitcode.com/GitHub_Trending/we/WeKnora cd WeKnora cp .env.example .env docker compose up -d启动后浏览器进前端页面(默认 80 端口,后端在 8080),注册第一个账号,就可以传文档了。.env模板里注释很全,首次运行其余保持默认即可。
可选项都走 compose profile 开关,不用改主配置:
docker compose --profile neo4j up -d # 知识图谱 docker compose --profile minio up -d # 对象存储 docker compose --profile langfuse up -d # 可观测监控想把向量库换成 Qdrant 或 Milvus 也行,compose 里带了对应 profile,把.env中的 RETRIEVE_DRIVER 指到对应驱动即可。
它能帮你做什么:三个典型场景 📚
把一堆文档变成知识库。导入后系统自动完成解析、分块、建索引。PDF、Word、Excel、PPT、图片等 10+ 种格式都支持,扫描件也能走 OCR。FAQ、文档、Wiki 三种库各有不同处理逻辑。解析层是独立服务 docreader/,模块化设计,新增格式只需加一个 parser。
文档智能问答。问一句“WorkBuddy 怎么接入微信 ClawBot”,它会先检索、再整理、给出带出处的结构化回答,引用片段可以点开核对。智能体引擎基于 ReACT 架构,会调用内置工具、MCP 工具和网络搜索做多步推理,技能执行被关在沙箱里,代码在 internal/agent/。
知识图谱可视化探索。文档入库后会自动抽实体和关系,搭出一张知识网络。点哪个节点,就能看到它关联哪些实体,跨文档追线索比翻文本直观得多。
两个值得记住的技术亮点 ⚙️
自适应三阶段分块。多数 RAG 系统按固定长度切块,WeKnora 会先看文档结构再选策略:auto 模式自己分析特征后挑选;heading 模式在 #、##、### 边界切,适合 Markdown 文档;heuristic 模式认分页符、编号章节和多语言章节标记,适合 PDF。默认 chunk_size 512、overlap 50。Vecta 2026 年基准测试里,这套方式把端到端准确率提到了 69%。
四层混合检索。一次查询先过 BM25 稀疏检索,再走密集向量语义检索,然后知识图谱做实体关系检索,最后 LLM 重排序压一遍结果集,层层收窄。整体架构也分层:输入渠道(Web/API/IM)、核心引擎(文档处理 + RAG 智能体)、存储后端、外部模型服务各管一段。
多租户 RBAC、审计日志、OIDC 登录这些就不展开了,仓库 docs 目录里有专门说明。
知识库参数怎么调、数据源怎么接 🎛️
分块策略按文档类型选:技术文档用 heading 吃标题结构;论文用 heuristic 按章节和页码切;拿不准就 auto。
检索参数在 config/config.yaml 里:
conversation: embedding_top_k: 30 rerank_top_k: 30 vector_threshold: 0.2 rerank_threshold: 0.3调法不复杂:回答跑题,把两个阈值往下降(比如 0.2 调到 0.1);嫌漏内容,把 top_k 调大。Redis 缓存也是现成的,同一文档的嵌入不重复算,常用查询的检索结果和多轮对话状态都走缓存。
数据源接入有四条路:本地文件上传、URL 网页抓取、平台同步(飞书、Notion、语雀)、RSS 定期抓取。连接器在 internal/datasource/connector/,插件化设计,接新数据源实现一个 connector 就行。模型侧,OpenAI、Claude、DeepSeek、通义千问、智谱、腾讯混元、Gemini、Ollama 本地等都支持,可用 config/builtin_models.yaml 声明内置模型,每个知识库单独指模型,方便做 A/B 对比。
怎么选、怎么避坑 🛠️
选型上:
- 中小团队起步:默认栈(PostgreSQL + Redis)就够,后面按需开 neo4j、minio。
- 想控成本:接 Ollama 本地模型,各知识库独立切模型,不花一分钱 API。
- 多部门共用:开空间(租户)RBAC;生产环境建议把 DISABLE_REGISTRATION 设为 true,关掉公开注册。
避坑清单:
.env里的 SYSTEM_AES_KEY(32 字节主密钥)负责加密库里存的 API key 等敏感字段,务必备份,丢了加密字段就不可恢复。- chunk_size 默认 512,长文本内容可以适当调大,避免关键句被拦腰切断。
- IM 群里要显示知识库图片,存储端点得外网可达,或者设 APP_EXTERNAL_URL 走后端代理,否则图片打不开。
先克隆仓库把服务拉起来,当天就能导入第一批文档;跑顺之后再动阈值和分块策略,最后按需叠知识图谱与监控。项目更新很快,多模态处理和实时协作已经排上路线,隔段时间看看仓库更新就行。
【免费下载链接】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),仅供参考