⭐⭐⭐ Spring Boot 项目实战 ⭐⭐⭐ Spring Cloud 项目实战
《Dubbo 实现原理与源码解析 —— 精品合集》 《Netty 实现原理与源码解析 —— 精品合集》
《Spring 实现原理与源码解析 —— 精品合集》 《MyBatis 实现原理与源码解析 —— 精品合集》
《Spring MVC 实现原理与源码解析 —— 精品合集》 《数据库实体设计合集》
《Spring Boot 实现原理与源码解析 —— 精品合集》 《Java 面试题 + Java 学习指南》

摘要: 原创出处 http://www.iocoder.cn/Fight/weknora-doc-to-qa/ 「芋道源码」欢迎转载,保留摘要,谢谢!


🙂🙂🙂关注微信公众号:【芋道源码】有福利:

  1. RocketMQ / MyCAT / Sharding-JDBC 所有源码分析文章列表
  2. RocketMQ / MyCAT / Sharding-JDBC 中文注释源码 GitHub 地址
  3. 您对于源码的疑问每条留言都将得到认真回复。甚至不知道如何读源码也可以请教噢。
  4. 新的源码解析文章实时收到通知。每周更新一篇左右。
  5. 认真的源码交流微信群。

腾讯有个开源项目叫 WeKnora,GitHub 上已经三万三千多 Star,官方给的中文名叫「维娜拉」。它还是微信对话开放平台背后的核心技术框架。

它的功能铺得很开,常规的知识库问答之外还有 Agent 模式和 Wiki 模式,光看 README 一遍其实记不全。这篇我按自己的理解把它捋一遍。

仓库首页实时截图,Star 与 Fork 计数同时可见

同一个知识库,它给了三种用法

官方架构图,RAG 问答与 Agent 推理与自动 Wiki 三块并列

架构图上那三块是并排的,底下连着同一套知识库。三块底下连着同一套知识库,等于是同一个底座的三种用法,区别在于你省掉多少事。

第一种是你问它答,第二种是你给目标它自己拆步骤,第三种是你什么都没说它就开始整理。往上一级,交给你的活就少一层。下面按这个顺序说。

第一级是你问它答,功夫在文档怎么进来

知识库管理界面

先说收文档这块,格式支持得挺全。PDF、Word、Excel、Markdown、图片这些常见的都行,扫描件和图片上的文字会走 OCR 识别,XMind 脑图、EPUB 电子书这种偏门一点的格式也能读。

不想手动传文件的话,可以接外部平台。飞书文档、语雀、Notion、GitLab、腾讯 IMA 都在支持列表里,接好之后那边的文档有更新,知识库会自动同步,不用每次重新上传。也支持直接给一个网址让它自己去抓。

问答是它的基本功。检索不是只认关键词,你的问法和文件原文不一样也能找到对应内容,字面匹配和语义理解同时在工作,另外还有知识图谱帮忙把相关的内容串起来。回答后面带着引用,能看到结论出自哪份文件;支持多轮追问,上下文是连着的。

有一点值得单独说,知识库里没有的内容它会直接说回答不了,不会自己编。这一点社区里几篇实测文章都专门验证过。另外还有 FAQ 类型的知识库,高频问题可以整理成标准问答对存进去,回答质量会更稳。

第二级是你给目标,它自己拆步骤

Agent 模式工作过程

普通问答应付的是一句话能说清的问题。碰到复杂任务,比如让它把几份文档里关于某个主题的内容汇总起来,可以切到 Agent 模式。它会把问题拆开一步一步办,查知识库、调工具,材料不够还会联网搜索,全部做完才给结论,中间每个步骤在界面上都能看到。

它还能在一个隔离的沙箱环境里跑脚本,生成的 Word、PPT 这类文件可以直接下载下来。工具这块支持 MCP 协议,生态里现成的工具都能接进来用。

第三级最值钱,它不等你问就开始整理

Wiki 知识图谱

这个模式值得单独说。普通的知识库比较被动,内容存进去就躺在那,你问它才答。Wiki 模式下它会把库里的文档主动消化一遍,整理成一篇篇互相链接的知识页,还会生成一张知识图谱,知识点之间的关系一眼能看到。

更关键的是它跟着更新。原始文档变了,相关的知识页会跟着变,不用你手动去改。这些知识页也可以手动修改,每次修改都有记录。

一个知识库最怕的就是半年不碰、里面的流程早就过期。这一层做的正是这件事。

服务跑在哪、用谁家的脑子,都能自己挑

部署用 Docker,一条命令起服务,本地、私有云、纯离线的环境都可以,机器上能跑 Docker 就行。

模型不绑厂商,DeepSeek、通义千问、智谱、混元这些国产模型都能接,也可以用 Ollama 跑本地模型,完全离线的情况下整套东西照样能用。向量数据库、文件存储这些组件也都能换。数据都留在自己的环境里。

管理、接入这些配套,决定它能不能在企业里待住

管理功能做得比较细。上传时的文件夹结构会保留下来,可以像文件管理器那样一层一层看。检索用的每个段落都能在界面上直接编辑,每次修改都会留版本,能对比前后差异,也能退回去。标签、批量操作这些常规功能都有。

对外接入是另一头。API 是完整开放的,可以给不同应用发不同权限的密钥;官方还做了 MCP 服务,Cursor 这类工具能直接调用它的知识库。IM 渠道支持得不少,企业微信、飞书、钉钉这些加起来有十来种。另外它跟微信对话开放平台是打通的,想在公众号或者小程序里做智能问答,零代码就能接入。

一条 Docker 命令起服务,但别直接放公网

装起来没花多少时间,机器上有 Docker 就行。

git clone https://github.com/Tencent/WeKnora.git
cd WeKnora
cp .env.example .env
docker compose pull
docker compose up -d

配置模板里的模型信息按自己用的填。等容器都起来,浏览器打开 http://localhost 就能看到操作界面,建知识库、传文档、提问,都在页面上点就行。后端 API 在 8080 端口。要停掉的话,把最后一条换成 docker compose down。

有一个提醒要说。 官方明确建议不要把服务直接暴露到公网,放在内网用,或者配好访问控制,毕竟里面存的都是自己的文档。

谁适合自己部署,谁用平台版就够了

整体看下来,这个项目是奔着实际使用去的。更新很勤,功能铺得也广,企业里需要的权限、审计、私有化部署这些都做了。

适合三类人。手里文档攒了一堆、想做成能问答的知识库的;对数据安全有要求、不想把资料传到外面去的;还有想把文档问答能力接进自己产品里的开发者。

有一点要说清楚,它需要自己部署,机器上得能跑 Docker,多少要碰一下命令行。完全不想折腾的话,可以先去它背后的微信对话开放平台体验一下效果,那边传完知识就能直接用。

如果只是想要个能聊天的工具,用它就有点重了。真想把文档管理、知识沉淀、智能问答这一整套做起来,值得花点时间自己跑一遍。

仓库地址是 https://github.com/Tencent/WeKnora 。

文章目录
  1. 1. 同一个知识库,它给了三种用法
  2. 2. 第一级是你问它答,功夫在文档怎么进来
  3. 3. 第二级是你给目标,它自己拆步骤
  4. 4. 第三级最值钱,它不等你问就开始整理
  5. 5. 服务跑在哪、用谁家的脑子,都能自己挑
  6. 6. 管理、接入这些配套,决定它能不能在企业里待住
  7. 7. 一条 Docker 命令起服务,但别直接放公网
  8. 8. 谁适合自己部署,谁用平台版就够了