腾讯开源知识库 Weknora V0.1.4从安装到使用测试

Weknora是腾讯开源的一款知识库,开源地址为:https://github.com/Tencent/WeKnora
听说是跟IMA长得非常像,所以它刚开源的时候,我就下载下来进行了测试,那个时候应该还是0.1.2版本,整个系统安装后,还没有登录界面,当时觉得这个不能用,只能自己玩一玩。直到最近看他已经升级到了0.1.4版本,并且有了登录界面,于是我又进行安装并实测了一下,整体感觉相当不错。以下是记录安装过程:
1.开源Weknora简介
1.1官方是这样说的:
WeKnora是一个由 LLM 驱动的框架,旨在深度文档理解和语义检索,特别适用于处理复杂、异构的文档。
它采用模块化架构,融合了多模态预处理、语义向量索引、智能检索和大型语言模型推理。WeKnora 的核心遵循RAG(检索增强生成)范式,通过将相关文档块与模型推理相结合,实现高质量、情境感知的答案。
WeKnora 采用现代模块化设计,构建了完整的文档理解和检索流程。系统主要包含文档解析、向量处理、检索引擎和大型模型推理等核心模块,每个组件都可灵活配置和扩展。

1.2 主要特点
- 精准理解:从 PDF、Word 文档、图像等中提取结构化内容,并将其转化为统一的语义视图
- 智能推理:利用 LLM 理解文档上下文和用户意图,实现准确的问答和多轮对话
- 灵活扩展:从解析和嵌入到检索和生成的所有组件都是解耦的,以便于定制
- ⚡ 高效检索:结合关键词、向量和知识图谱的混合检索策略
- 用户友好:直观的 Web 界面和标准化 API,实现零技术障碍
- 安全可控:支持本地部署和私有云,确保完整的数据主权
1.3 应用场景<
draft-node=”block” data-draft-type=”table” data-size=”normal” data-row-style=”normal”>
| 设想 | 应用</th> | >核心价值 |
|---|---|---|
| 企业知识管理td> | >内部文件检索、政策问答、操作手册查找 | 提高知识发现效率,降低培训成本 |
| 学术研究分析 | 论文检索、研究报告分析、学术资料整理 | 加速文献综述,辅助研究决策 |
| 产品技术支持 | 产品手册问答、技术文档搜索、故障排除 | 提高客户服务质量,减轻支持负担 |
| 法律与合规审查 | 合同条款检索、监管政策检索、案例分析 | 提高合规效率,降低法律风险 |
| 医疗知识援助 | 医学文献检索、治疗指南检索、病例分析 | 支持临床决策,提高诊断质量 |
.
2.快速安装
我采用的是docker安装,因为前端端口有冲突,更改了前端启动端口
2.1克隆仓库
git clone https://github.com/Tencent/WeKnora.git
cd WeKnora
2.2配置环境变量
cp .env.example .env
修改环境变量,根据实际情况,我主要修改了以下两个变量
FRONTEND_PORT=9999 #前端端口修改
OLLAMA_BASE_URL=http://yourip:11434 #OLLAMA配置
另外强烈建议修改,PG数据库/Redis等数据库的默认密码。
2.3 启动服务
这样就可以运行以下脚本启动了:
./scripts/start_all.sh
注意尽量用脚本启动,我直接用docker compose up -d启动,会发现有一些问题。
拉取镜像过程中ing…

启动后可以看到有以下镜像

2.4可能遇到的问题
在过程中遇到了docker访问的问题:
Get “https://registry-1.docker.io/v2/“: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers) 修改 /etc/docker/daemon.json 加入阿里云的镜像代理即可解决,网上有很多这样的文章。
另外就是启动的时候,如果某些端口被占用,就需要去修改.env文件里面的内容

当你看到所有镜像都成功启动后,就表明可以正常访问了。
3.修改nginx配置,以允许上传更大的文件
如果你不修改nginx配置,在使用时,会遇到上传文件,时间超过30秒就不能上传,另外,原来nginx设置的最大文件大小为50M,因此建议启动前修改一下,如果你已经启动了,可以按以下方法修改

先进入前端文件夹,修改nginx.conf文件
vi frontend/nginx.conf
比如,将最大文件修改为200M,将上传时间修改为300s;
#将client_max_body_size 50M ;修改为200M;
client_max_body_size 200M
proxy_connect_timeout 300s;
修改后,要重启nginx 才能生效
用sudo docker ps 找到 前端的容器ID。
名称为:wechatopenai/weknora-ui:latest
然后进入容器:
sudo docker exec -it 5b71b1b4c631(容器ID) /bin/sh/
nginx -t
nginx -s reload
exit退出


3.简单使用
3.1 注册用户
初始化后,先注册账号:

3.2登录

登录后:

3.3 创建知识库

3.4配置大模型
知识库创建以后,要点“设置”配置大模型,我用的是本地的ollama服务,运行在Jetson Agx 64G的本地模型


3.5 上传文档


3.6问答测试




4.初用总结
整体安装还算简单,方便,使用后感觉效果还不错,空了准备阅读一下源代码,并多进行测试。
欢迎大家多多留言交流。
