WeKnora知识库问答系统一键部署教程:基于Docker的快速搭建指南
WeKnora知识库问答系统一键部署教程:基于Docker的快速搭建指南
1. 开篇:为什么选择WeKnora?
如果你正在寻找一个能理解文档内容、能智能问答、还能保护数据隐私的知识库系统,WeKnora值得一试。这个基于大语言模型的文档理解框架,能让你的PDF、Word、图片等文档"活起来",变成随时可问的智能助手。
最棒的是,用Docker部署WeKnora真的非常简单。不需要深厚的技术背景,跟着本教程一步步操作,半小时内就能搭建起属于自己的智能知识库系统。无论是企业内部的文档管理,还是个人学习资料整理,WeKnora都能让知识检索变得像聊天一样自然。
2. 环境准备:确保一切就绪
在开始部署之前,我们先检查一下基础环境。虽然WeKnora的Docker部署已经很简化了,但还是需要一些前置条件。
2.1 系统要求
WeKnora对硬件的要求相对亲民:
- 内存:建议8GB以上,4GB也能运行但可能比较吃力
- 存储:至少10GB可用空间,用于存放文档和向量数据
- CPU:现代多核处理器即可,不需要特别强大的GPU
2.2 软件依赖
确保你的系统已经安装:
- Docker:版本20.10.0或更高
- Docker Compose:版本2.0.0或更高
- Git:用于克隆项目代码
检查Docker是否安装成功:
docker --version
docker-compose --version
如果看到版本号输出,说明环境准备就绪。如果还没安装Docker,可以去官网下载对应版本的安装包。
3. 快速部署:四步搭建WeKnora
现在开始正式的部署过程,整个过程比想象中要简单得多。
3.1 第一步:获取项目代码
首先把WeKnora的代码克隆到本地:
# 创建项目目录
mkdir -p ~/weknora && cd ~/weknora
# 克隆代码仓库
git clone https://github.com/Tencent/WeKnora.git
cd WeKnora
这个命令会在当前用户目录下创建weknora文件夹,并把最新的代码下载下来。
3.2 第二步:配置环境变量
WeKnora使用环境变量文件来管理配置,我们需要复制示例文件并做适当修改:
# 复制环境配置示例文件
cp .env.example .env
# 编辑配置文件
nano .env # 或者使用你喜欢的文本编辑器
在配置文件中,有几个关键参数可能需要调整:
# 前端服务端口(默认8081,如果冲突可以修改)
FRONTEND_PORT=8081
# 后端API端口(默认8080)
BACKEND_PORT=8080
# 数据库端口(如果5432被占用可以修改)
POSTGRES_PORT=5432
# Ollama配置(如果你有本地Ollama服务)
OLLAMA_HOST=你的Ollama地址
对于大多数初次使用的用户,保持默认配置即可。保存文件后退出编辑器。
3.3 第三步:启动所有服务
这是最简单的一步,一行命令启动所有服务:
# 使用脚本启动所有服务
./scripts/start_all.sh
这个脚本会自动完成以下工作:
- 拉取所需的Docker镜像
- 创建网络和卷
- 启动数据库、后端、前端等所有服务
- 初始化数据库结构
第一次运行时会下载镜像,需要一些时间(取决于网络速度)。完成后你会看到所有容器都正常启动的提示。
3.4 第四步:验证部署状态
检查服务是否正常启动:
# 查看容器运行状态
docker ps
# 应该看到类似下面的输出
# CONTAINER ID IMAGE PORTS NAMES
# xxxxxxxxxxxx weknora-app:latest 0.0.0.0:8080->8080/tcp weknora-app
# xxxxxxxxxxxx weknora-web:latest 0.0.0.0:8081->80/tcp weknora-web
# xxxxxxxxxxxx postgres:15 0.0.0.0:5432->5432/tcp weknora-postgres
如果所有容器都处于"Up"状态,说明部署成功!
4. 常见问题与解决方案
在部署过程中可能会遇到一些小问题,这里列出几个常见的解决方法。
4.1 端口冲突问题
如果发现端口被占用,有两种解决方式:
方法一:修改配置文件 编辑.env文件,修改冲突的端口号:
# 修改为其他可用端口
FRONTEND_PORT=8082
BACKEND_PORT=8083
POSTGRES_PORT=5433
方法二:停止占用端口的服务 查找并停止占用端口的进程:
# 查找占用8080端口的进程
lsof -i :8080
# 停止相关进程
kill -9 <进程ID>
4.2 数据库初始化失败
有时候数据库表没有正确创建,可以手动初始化:
# 进入数据库容器
docker exec -it weknora-postgres psql -U postgres -d weknora
# 执行初始化脚本
\i /docker-entrypoint-initdb.d/00-init-db.sql
# 退出数据库
\q
4.3 容器启动失败
如果某个容器启动失败,可以查看具体日志:
# 查看应用服务日志
docker logs weknora-app
# 查看数据库日志
docker logs weknora-postgres
# 查看前端日志
docker logs weknora-web
根据日志输出调整配置后,重新启动服务:
./scripts/start_all.sh --stop
./scripts/start_all.sh
5. 首次使用指南
服务启动成功后,打开浏览器访问 http://你的服务器IP:8081 就能看到WeKnora的界面了。
5.1 初始化设置
第一次访问时会进入初始化页面:
- 注册账号:填写用户名、邮箱和密码
- 配置模型:选择或配置LLM大语言模型(支持Ollama本地模型或远程API)
- 设置嵌入模型:配置文本向量化模型
- 完成初始化:保存配置后进入主界面
5.2 创建第一个知识库
点击右上角"新建知识库",填写基本信息:
- 知识库名称:给你的知识库起个名字
- 描述:简单描述这个知识库的用途
- 类型选择:文档知识库或FAQ知识库
创建完成后上传你的文档,支持PDF、Word、TXT、Markdown等格式。
5.3 开始智能问答
上传文档后,系统会自动解析和建立索引。完成后就可以在问答界面提问了,WeKnora会基于你的文档内容给出准确回答,并标注答案来源。
6. 总结
整体用下来,WeKnora的Docker部署确实很友好,基本上跟着步骤走就能成功搭建。对于想要快速构建智能知识库的用户来说,这是一个不错的选择。部署过程中可能会遇到一些小问题,但大多都有明确的解决方法。
如果你刚开始接触这类系统,建议先从小规模试用开始,熟悉了整个流程后再考虑扩展到更复杂的场景。WeKnora的模块化设计也让后续的定制和扩展变得相对容易,可以根据实际需求调整各个组件的配置。
获取更多AI镜像
想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。
更多推荐


所有评论(0)