腾讯开源了一个知识库系统,名字是WeKnora。
有意思的是,它和 IMA 知识库的设计思路有点相似,但不管是不是同一团队的作品,至少说明这类基于 RAG 的智能知识库正在变得越来越热门。
WeKnora 是什么?
简单来说,WeKnora 是一个基于 RAG(检索增强生成)架构的智能知识库框架。 它会先对文档进行语义检索,找到和问题最相关的上下文,再交由大语言模型生成答案。这样回答内容更准确、更可追溯,也避免了胡编乱造。
目前在 GitHub 上,WeKnora 的 star 已经超过 5.6k(数据统计到9.15)。
项目地址:https://github.com/Tencent/WeKnora
WeKnora 采用了模块化设计,构建了一条完整的“文档理解 + 检索 + 大模型推理”流水线。主要包括:
文档解析:支持上传常见的文本和 PDF。
向量化处理:把文档内容转化为向量,便于语义检索。
检索引擎:快速找到与提问最相关的片段。
大模型推理:调用本地或远程大模型生成答案。
适用场景:
功能模块:
这里我简单演示一下本地部署和测试流程。
1 本地部署
本地部署的环境要求:Docker、Docker Compose、Git
安装步骤如下:
1、克隆代码仓库
# 克隆主仓库
git clone https://github.com/Tencent/WeKnora.git
cd WeKnora
2、配置环境变量
# 复制示例配置文件
cp .env.example .env
# 编辑 .env,填入对应配置信息# 所有变量说明详见 .env.example 注释
3、启动服务
# 启动全部服务(含 Ollama 与后端容器)
./scripts/start_all.sh
# 或
make start-all
4、停止服务
./scripts/start_all.sh --stop
# 或
make stop-all
启动成功是这样子的:
成功后,访问地址:http://localhost,可以看到初始化配置页面。
2 系统初始化配置
首次访问localhost会自动跳转到初始化配置页面,配置完成后会自动跳转到知识库页面。
请按照页面提示信息完成模型的配置。
因为WeKnora支持本地Ollama部署的模型,先看一下我本地安装的。
打开http://localhost可以看到Ollama服务状态为正常。
已经检测到了我本地安装的deepseek-r1:1.5b和nomic-embed-text:latest模型。
如果你使用本地模型,就把这两个模型添加到LLM大语言模型和Embedding嵌入模型配置中。
当然了,如果我们想要远程的模型也是可以的。
这里我就都改成硅基流动上面的DeepSeek最新的V3.1模型。
硅基流动API的URL地址:https://api.siliconflow.cn/v1
这个模型名称必须是要和硅基流动广场中的模型名称一模一样。
向量模型也改成硅基流动的BAAI/bge-m3模型。
Rerank重新排序模型选择了BAAI/bge-reranker-v2-m3,都可以根据自己实际情况进行更改。
多模态选择了千问的Qwen/Qwen2.5-VL-72B-Instruct。
需要上传一张本地的图片进行测试,可以看到图片被正常识别出来了。
只上传单张图片:
最后就是文档分割配置,分割策略可以选择均衡模式、精准模式、上下文模式、自定义。
只有在自定义模型下,才可以手动设置参数,分块大小、分块重叠及分隔符设置。
这样我们就完成了配置,后续也可以在设置中进行更改。
3 使用知识库
配置完成后就可以使用知识库了。
3.1 测试PDF文档
先上传一个PDF文件,清华大学那个DeepSeek使用的文档。
点击文档可以看到右侧显示分段的详情信息。
然后就是我们熟悉的向知识库提问环节。
这个问题DeepSeek适合做什么任务是结合了PDF中好几页的内容。
系统能从文档的多个部分整合答案,并在结果中显示引用来源。
PDF文件原文:
在测试一个,我又上传了《浙江大学:DeepSeek行业应用案例集》的PDF文件测试:
问个无关的问题,现在正火的预置菜问题,可以看到如果知识库没有此内容,回复是无法回答。
3.2 测试图片
上传单张图片测试多模态理解能力。
随便问个问题,比如描述一下封面这张图片。
WeKnora 也能正确识别出内容。
WeKnora 目前还有一些限制,比如:
暂时只支持单文件上传;
不能同时管理多个知识库;
但对于小团队或个人用户来说,这样的功能已经够用。对于有开发能力的公司,则完全可以基于源码进行二次开发,扩展出更复杂的知识管理系统。
从部署到测试,我觉得 WeKnora 给我的感觉是:简单、实用、有潜力。
它或许不能满足所有需求,但对于想要尝鲜知识库和 AI 结合的小伙伴来说,是一个很好的切入口。
无论是不是和 IMA 出自同一个团队,能看到越来越多这样的开源项目出现,本身就是好事。
毕竟开源的魅力就在于此,当越来越多的人一起打磨,一个小小的项目也能成长为整个生态的基石。
学废了或有启发,别忘了顺手给我点个赞、在看、转发,三连~因为你的反馈真的很重要!如果想第一时间收到推送,也可以给我个星标⭐