公司里那一堆文档,PDF、Word、PPT、扫描件,散在各处,你想问一句「去年那份合同里的赔偿条款到底怎么写的」,却只能一个文件夹一个文件夹翻。
腾讯开源了一个项目,专门干这件事,叫 WeKnora。它能把这堆乱七八糟的文档整理成一个能直接问答的知识库,你问一句,它从你的资料里找答案给你,还能告诉你这答案是从哪份文件、哪一段来的,附着出处,胡编的概率比直接问大模型低不少。GitHub 上现在大概有1.6万颗 star,MIT 协议,是真开源,最近一个多月一直在更新,不是那种放上去就没人管的项目。
想象一下这个画面:你把公司这些年攒下的几百份文档一次性丢进去,过一会,整套知识库就建好了。之后新来的同事不用再追着老人问「这个流程在哪份文档里」,直接问一句就有答案,还附着出处,他自己点进去就能核对。这是它想解决的事。
很多人以为,让 AI 读懂自己的文档,难的是 AI。其实不是。真正难的,是把文档变成 AI 能用的东西这条链路。这话怎么讲呢?
你把一份排版乱七八糟的 PDF 直接丢给大模型,它读出来常常是错的:表格塌成一团,图里的字它看不见,几十页的东西它根本读不全。所以一个真正能用的文档问答系统,背后是一条完整的流水线:先把各种格式的文档解析成干净的文本,再切成一小块一小块,转成机器能检索的形式,问问题的时候先从这堆块里捞出最相关的几段,再把这几段连同你的问题一起喂给模型,让它据此回答。这条线少一环都不行。
WeKnora 做的事,就是把这一整条流水线打包成一套东西,让你能直接装在自己的机器上跑起来,而不用自己一段一段去拼。下面说几个我觉得它做得比较扎实的地方。
第一,文档进得来,格式不挑。
它支持10多种格式,PDF、Word、文本、Markdown、网页、图片、CSV、Excel、PPT、JSON 都能吃。更值得说的是它支持多模态解析,意思是文档里的图片它能「看」,音频它能转成文字,不是只认纯文本。每次上传文档,还能单独配这一份怎么处理。这一步是整条链路的地基,地基歪了,后面答得再花哨也是错的。
第二,检索不是只有一招。
很多简单的方案就一种检索方式:把问题转成向量,去找意思最像的几段。这招在很多时候不够用。比如你问的是一个具体的产品型号、一个项目代号、一个人名,靠意思相近反而容易跑偏,老老实实按关键词匹配才更准。反过来,你问一个比较绕的概念,关键词又抓不住,得靠向量去理解意思。
WeKnora 把几种检索方式都放进来了:关键词检索(BM25)、向量检索、知识图谱式的 GraphRAG,还有父子分块这种把长文档拆成大块套小块、先粗定位再看细节的做法。几种捞答案的工具都备齐了,你按自己资料的特点去配,而不是拿一种方式硬套所有场景。这背后是一套完整的检索增强(RAG)框架,不是简单接个接口就完事。
第三,它不只是问一句答一句。
除了基础的问答,它还带一个会多步推理的 Agent。普通问答是你问它答,这个 Agent 是遇到复杂问题会自己分几步走、会调用工具,一步步把答案推出来,更像一个会查资料的助手,而不是一个只会背书的复读机。它还有个 Wiki 模式,能把你这堆知识库自动整理成一套相互链接的 wiki,文档自己生成、自己维护。这两个能力是比较新的,还在打磨,但方向挺有意思。
第四,模型随你接,选择很多。
这点对很多人很关键。它能接的模型很全:OpenAI、DeepSeek、通义千问、智谱、腾讯自家的混元、Gemini、MiniMax、英伟达,还支持 Ollama。Ollama 的意思是,你可以在自己电脑上跑开源模型,连云端 API 都不用调。所以你手头能用上哪几家就接哪几家——接 DeepSeek、通义、混元也好,接 Ollama 上的本地开源模型也好,这套系统都能跑起来。要提醒一句,它只是给你接口,能跑起来不等于答得好——最终答得准不准,还得看你接的是什么模型、文档质量怎么样、检索怎么配,这条链路本身搭得好不好。
第五,数据是你自己的。
它用 Docker 或者 K8s 部署,可以全本地,也可以放自己的私有云,底层存向量的数据库也能选好几种。要说清楚的是,「数据不出门」是有前提的:你得把模型也配成本地的(比如走 Ollama)、存储也用自有的,文档和检索片段才真正不离开你自己的环境;如果你图省事接了 OpenAI、Gemini 这类云端模型,问题和相关片段还是会发到对方那里去。对放着合同、研报、内部资料这些东西的团队来说,能做到全本地这件事,往往不是加分项,是硬门槛。
上手不算难。官方的说法是,把代码拉下来,改一个配置文件,敲一行命令启动,然后打开本地网页就能用。会一点 Docker 的人基本能搞定,对开发者和有点技术底子的团队挺友好。当然,纯小白还是有门槛的,毕竟要装环境、要配模型的钥匙,不是点一下就能用的网页产品。
也得说句实话,它现在还是0.x的版本,更新很快,有些能力(比如刚才说的 Wiki 模式)是最近才稳定下来的;能接的数据源也还在扩。而且答得准不准,最后还是看你接的是什么模型、喂进去的文档质量怎么样,平台本身不能保证它绝不胡说。这类工具能帮你把链路搭好,但不能替你把资料整理干净。
话虽如此,对于一个想把自己那堆文档变成能问答的知识库、又希望数据握在自己手里的人来说,这已经是个相当完整的底子了。以前要把这条流水线自己拼出来,得懂不少东西、踩不少坑;现在有人把整条线打包好放在那,你能省下的是从零搭起的那部分力气。
这是腾讯开源的项目,在 GitHub 上叫 WeKnora。
如果你正好在给团队或者自己搭文档问答,你最头疼的是哪一步,是文档解析读不准,还是检索捞不到对的内容?评论里聊聊。
#马力的AI知识分享#
#马力的AI开源项目分享#
发布于 北京
