WeKnora RAG知识库完整指南:从文档上传到带出处的AI问答
【免费下载链接】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 知识库平台,把你的 PDF、Word、网页收进知识库后,用 RAG(检索增强生成,即先检索相关片段再让大模型作答)生成带出处的答案,并支持自主推理的 Agent 和自维护的 Wiki。
30秒认识 WeKnora:它和别的问答工具差在哪
WeKnora 的定位是"把分散文档变成可查询、可推理的知识资产",适合有大量内部资料、希望答案可溯源、且要求数据私有化的团队。它由 Go 后端、Vue 3 前端和 Python 的 docreader 文档解析服务三个进程组成,可整栈私有部署,敏感凭证以 AES-256 落盘加密。与多数 RAG 工具只做到"检索+回答"不同,WeKnora 还内置了 ReAct(一种让大模型逐步"思考-行动-观察"的循环机制)Agent 可自主调用工具和联网搜索,以及让 Agent 从原始文档自治生成、带版本历史和一键回滚的 Wiki 模式。几个可核实的数字:
- 向量数据库支持 8 种后端:PostgreSQL (pgvector)、Elasticsearch、OpenSearch、Milvus、Weaviate、Qdrant、Apache Doris、腾讯云 VectorDB
- IM 通道 10 个:企业微信、飞书、Lark、QQBot、Slack、Telegram、钉钉、Mattermost、微信、云之家
- 文档格式 13 种以上:PDF / Word / Markdown / HTML / EPUB / MHTML / 图片 / CSV / Excel / PPT / JSON / XMind 等
最快上手路径:四步跑通第一次带引用问答
前提是你机器上有 Docker、Docker Compose 和 Git,以及一套可用模型(本地 Ollama 或任意 OpenAI 兼容 API 均可)。第一步,克隆仓库并复制配置文件:
git clone https://gitcode.com/GitHub_Trending/we/WeKnora第二步,进入 WeKnora 目录执行cp .env.example .env并按注释填写必填项(数据库账号密码、JWT 密钥、AES 主密钥等),然后docker compose pull拉取镜像、docker compose up -d启动核心服务。第三步,打开http://localhost注册账号,注册后会自动得到一个属于你的工作空间,你即为其 Owner;也可以先用curl http://localhost:8080/health确认后端就绪。第四步,在"知识库"页新建库,在初始化向导里选对话模型(LLM)和向量模型(Embedding,把文字转成向量用于相似度检索),点"测试"确认连通后保存;接着把文件拖进上传区,等文档异步解析到"已完成",选库提问即可看到带引用出处的回答。顺利的话十几分钟,大部分时间花在等解析上。
WeKnora 是怎么工作的:一条解析-索引-问答的因果链
整条链路可以用"输入 → 处理 → 输出"三段说清。输入端,文档来自文件上传、URL 抓取或外部平台同步;处理端,独立的 docreader 服务负责重活——PDF 版式分析、扫描件 OCR、网页抓取、图片多模态描述,产出结构化文本后,系统再分块(切成检索最小单元)并调用 Embedding 模型向量化,写入向量索引和关键词全文索引(默认用 ParadeDB 即 PostgreSQL 17 + BM25/向量扩展)。输出端发生在你提问时:你的问题先经过改写并结合历史上下文,然后向量检索与 BM25 关键词检索并行执行、RRF 融合,再经 Rerank 重排(对候选片段按相关性重新打分排序),截断出 Top-K 片段拼装成上下文交给大模型,流式返回带引用角标的答案,点引用可跳回原文。
三个真实使用场景,看它具体怎么帮你
场景一:对着自己的产品手册提问,答案带出处。你会遇到这种情况:团队文档散落在十几个 PDF 里,新人问"场景模式怎么配"没人能快速答。它会做的事是:检索相关分块、定位到那一篇文档,再让模型按手册内容组织回答,回答里挂上引用角标。你得到的是结构化步骤(触发条件、执行动作、配置步骤逐条列出),且每个说法都能点回去核对原文,答错能追责到具体文档。
场景二:需要多步推理的对比分析题。你会遇到这种情况:问题是"NVIDIA Vera 相比 AMD Turin 9755 有哪些优势",单篇文档答不全,得翻多篇规格资料。此时把对话框顶部的 Agent 切成"智能推理",它走 ReAct 循环,自己决定检索几轮、要不要调工具——界面顶部会显示"思考 2 轮、调用 3 次工具"。你得到的是一份带表格和实测数据的对比结论(峰值带宽、延迟逐指标列出),而不是拼接的片段。
场景三:让外部平台的知识自动进来。你会遇到这种情况:团队文档在飞书、语雀或 Notion 里持续更新,手动搬到知识库注定过期。它会做的事是:在"知识库设置 → 数据源"里选类型(飞书 / Lark / 飞书云盘 / Notion / 语雀 / RSS),配好凭证和同步策略后即可定时同步,支持增量与全量。你得到的是一个自己保持新鲜的知识库,比如 RSS 订阅每 6 小时增量同步一次,文档更新后下次检索就能命中新内容。
文档里可验证的三条实用技巧
用本地 Ollama 时,容器内地址别填localhost——后端跑在容器里,要填http://host.docker.internal:11434,这是官方快速上手文档里点名最容易踩的坑。向量模型(Embedding)建库后不要换:换了 Embedding 模型等于换了语义坐标系,需要重建整个库的索引,向导里也提示过这一点。上传后卡在processing状态,先看docker logs WeKnora-docreader,并注意两个默认上限:单文件 50MB(MAX_FILE_SIZE_MB)和文档处理 2 小时超时(WEKNORA_DOCUMENT_PROCESS_TIMEOUT),大文件慢解析是正常现象。
下一步
WeKnora 的价值在于把"文档堆"变成"可问答、可溯源、可持续演进"的知识资产,从个人单机的 Lite 单二进制到 Kubernetes 集群都能覆盖。更多细节见 docs/ 目录(含架构、API 说明与常见问题排查),你现在就能做的第一步:克隆仓库、按上文四步把服务跑起来,上传一份自己的文档,问它第一个问题。
【免费下载链接】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),仅供参考