收起左侧

腾讯开源知识库 WeKnora,手把手教你在 NAS 上部署,小白也能轻松上手

3
回复
441
查看
[ 复制链接 ]

66

主题

9

回帖

0

牛值

fnOS系统内测组

社区上线纪念勋章

WeKnora:

一款基于大语言模型(LLM)的文档理解与语义检索框架,专为结构复杂、内容异构的文档场景而打造。框架采用模块化架构,融合多模态预处理、语义向量索引、智能召回与大模型生成推理,构建起高效、可控的文档问答流程。核心检索流程基于 RAG(Retrieval-Augmented Generation) 机制,将上下文相关片段与语言模型结合,实现更高质量的语义回答。

架构设计:

核心特性:

  • • 🔍 精准理解:支持 PDF、Word、图片等文档的结构化内容提取,统一构建语义视图
  • • 🧠 智能推理:借助大语言模型理解文档上下文与用户意图,支持精准问答与多轮对话
  • • 🔧 灵活扩展:从解析、嵌入、召回到生成全流程解耦,便于灵活集成与定制扩展
  • • ⚡ 高效检索:混合多种检索策略:关键词、向量、知识图谱
  • • 🎯 简单易用:直观的Web界面与标准API,零技术门槛快速上手
  • • 🔒 安全可控:支持本地化与私有云部署,数据完全自主可控

适用场景:

应用场景 具体应用 核心价值
企业知识管理 内部文档检索、规章制度问答、操作手册查询 提升知识查找效率,降低培训成本
科研文献分析 论文检索、研究报告分析、学术资料整理 加速文献调研,辅助研究决策
产品技术支持 产品手册问答、技术文档检索、故障排查 提升客户服务质量,减少技术支持负担
法律合规** 合同条款检索、法规政策查询、案例分析 提高合规效率,降低法律风险
医疗知识辅助 医学文献检索、诊疗指南查询、病例分析 辅助临床决策,提升诊疗质量

功能模块能力:

功能模块 支持情况 说明
文档格式支持 ✅ PDF / Word / Txt / Markdown / 图片(含 OCR / Caption) 支持多种结构化与非结构化文档内容解析,支持图文混排与图像文字提取
嵌入模型支持 ✅ 本地模型、BGE / GTE API 等 支持自定义 embedding 模型,兼容本地部署与云端向量生成接口
向量数据库接入 ✅ PostgreSQL(pgvector)、Elasticsearch 支持主流向量索引后端,可灵活切换与扩展,适配不同检索场景
检索机制 ✅ BM25 / Dense Retrieve / GraphRAG 支持稠密/稀疏召回、知识图谱增强检索等多种策略,可自由组合召回-重排-生成流程
大模型集成 ✅ 支持 Qwen、DeepSeek 等,思考/非思考模式切换 可接入本地大模型(如 Ollama 启动)或调用外部 API 服务,支持推理模式灵活配置
问答能力 ✅ 上下文感知、多轮对话、提示词模板 支持复杂语义建模、指令控制与链式问答,可配置提示词与上下文窗口
端到端测试支持 ✅ 检索+生成过程可视化与指标评估 提供一体化链路测试工具,支持评估召回命中率、回答覆盖度、BLEU / ROUGE 等主流指标
部署模式 ✅ 支持本地部署 / Docker 镜像 满足私有化、离线部署与灵活运维的需求
用户界面 ✅ Web UI + RESTful API 提供交互式界面与标准 API 接口,适配开发者与业务用户使用习惯

安装

下载项目到本地:github.com/Tencent/WeKnora

解压 ZIP 文件,找到 .env.example 配置文件

打开编辑,修改 Ollama 地址(需要自行单独部署)

默认是用 Qwen3 8B 模型,也可以切换为自己的模型(记得删掉前面“#”屏蔽

根据需要可以修改前端服务端口

TIP:如果是飞牛系统 postgres 容器端口 5432 已经被占用,需要进行修改

将文件重命名为 .env

将所有文件上传到 NAS 上

创建项目,选择上面文件夹路径即可(配置会自动导入)

等待容器构建完成需要一些时间

由于容器比较多,启动后一定要注意有没有报错,是否都全部启动成功

sudo bash ./scripts/start_all.sh
sudo bash ./scripts/start_all.sh --stop
sudo make clean-db
initialization

使用

浏览器中输入 <span leaf="">http://NAS的IP:8081</span> 就能看到界面

首先需要注册一个账号,点击“立即注册”

填写用户名,邮箱和密码进行注册

注册完成就可以登录了,注意是用邮箱

管理面板还是比较清爽简洁的,点击右上角“新建知识库”

这里我就随便填写一个名称了

TIP:有可能会遇到创建失败的情况(我也是后来加交流群才知道的解决方法)

连接 SSH,输入下面命令查看数据库表(这里只有几个,说明创建少了)

docker exec -it WeKnora-postgres psql -U postgres -d WeKnora -c "\dt"

输入下面命令初始化,会自动创建缺少的表了

docker exec -i WeKnora-postgres psql -U postgres -d WeKnora -f /docker-entrypoint-initdb.d/00-init-db.sql

再次输入命令查看,现在就全了

docker exec -it WeKnora-postgres psql -U postgres -d WeKnora -c "\dt"

创建知识库后,需要先配置一下

这里我是配置使用 Ollama 的,可以看到目前安装过的模型(每个人可能都不一样)

LLM 大语言模型配置,模型选了一个比较小的(速度考虑,也可以选大的会更智能)

Embedding 嵌入模型配置,也可以选普通常规模型,最好当然是选嵌入模型

其他这些就保持默认了,最后记得点击保存

设置完成就会进入知识库,上传需要学习的文件

随便找了两个文档进行测试

效果还行,起码是能索引到相关的文章

如果有不同类型需求,也可以创建多个知识库

系统信息,官方提供了 API 开发文档,有需要二次开发的用户可以点开看看

资源占用情况(不计 Ollama),处理器占用不高,内存占用在 1.3GB 左右

总结

部署这个也是遇到了一些小意外,就是无法创建知识库,上网搜索一堆也没找到方法,最后还是加了开发者的群才搞定的。真的要吐槽网络上的云教程,根本就是误人子弟,都是复制粘贴介绍的图片就算教程了。

WeKnora 是一款基于大语言模型的文档理解与检索框架,简单来说就是知识库。对接好模型,将需要学习的文档上传到知识库里,就可以对话搜索里面的内容了。不管是企业里整理内部文档、做知识管理,还是科研人员查文献、技术支持查手册,都能派上用场。

综合推荐:⭐⭐⭐(有知识库需求,隐私敏感的用户或者企业)

使用体验:⭐⭐⭐(上手门槛低,设置简单)

部署难易:⭐⭐⭐(一般)︎

收藏
送赞 1
分享

4

主题

53

回帖

0

牛值

fnOS系统内测组

7

主题

69

回帖

0

牛值

fnOS系统内测组

感谢分享。 不过 pdf<10MB, txt<200K 的限制还蛮大的。 (扫描版pdf就不行了)

另外,不支持epub这些常用的电纸书格式么?

4

主题

50

回帖

0

牛值

初出茅庐

先看下,有需要在部署玩玩

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则