WeKnora知识库问答系统一键部署教程:基于Docker的快速搭建指南

1. 开篇:为什么选择WeKnora?

如果你正在寻找一个能快速搭建、功能强大的知识库问答系统,WeKnora可能正是你需要的解决方案。这个基于大语言模型的文档理解与语义检索框架,专门为处理结构复杂、内容多样的文档场景而设计。

想象一下这样的场景:公司内部有大量的产品手册、技术文档、规章制度,每次需要查找特定信息都要花费大量时间。或者研究人员需要从海量文献中快速找到相关研究内容。WeKnora就能帮你解决这些问题,它能够理解文档内容,实现智能问答和精准检索。

最好的部分是,通过Docker部署,整个过程变得异常简单。即使你不是技术专家,跟着本教程也能顺利完成部署。下面我就带你一步步实现WeKnora的快速搭建。

2. 环境准备:确保一切就绪

在开始部署之前,我们需要先准备好基础环境。这部分很重要,但不用担心,我会用最直白的方式告诉你该怎么做。

2.1 系统要求

首先确认你的系统满足以下要求:

  • 操作系统:Linux(Ubuntu 18.04+、CentOS 7+)、macOS 10.14+ 或 Windows 10+
  • 内存:至少8GB,推荐16GB以上(大模型比较吃内存)
  • 存储空间:至少20GB可用空间
  • Docker版本:20.10.0或更高版本
  • Docker Compose:2.0.0或更高版本

2.2 安装Docker和Docker Compose

如果你还没有安装Docker,这里提供简单的安装方法:

# 对于Ubuntu系统
sudo apt update
sudo apt install docker.io docker-compose
sudo systemctl enable docker
sudo systemctl start docker

# 将当前用户加入docker组,避免每次都要sudo
sudo usermod -aG docker $USER
newgrp docker

安装完成后,验证一下是否成功:

docker --version
docker-compose --version

如果能看到版本号,说明安装成功了。

3. 快速部署:三步搞定WeKnora

现在进入最核心的部分——实际部署WeKnora。整个过程比想象中要简单得多。

3.1 获取项目代码

首先把WeKnora的代码下载到本地:

# 创建项目目录
mkdir -p ~/weknora && cd ~/weknora

# 克隆项目代码
git clone https://github.com/Tencent/WeKnora.git
cd WeKnora

3.2 配置环境变量

WeKnora使用环境变量文件来管理配置,我们需要基于示例文件创建自己的配置:

# 复制示例配置文件
cp .env.example .env

# 编辑配置文件
nano .env  # 或者使用你喜欢的文本编辑器

配置文件里有很多选项,但对于初次部署,我们主要关注这几个关键设置:

# 前端服务端口(默认8081,如果冲突可以修改)
APP_PORT=8081

# 数据库配置(一般保持默认即可)
POSTGRES_PORT=5432
POSTGRES_DB=weknora
POSTGRES_USER=postgres
POSTGRES_PASSWORD=your_secure_password

# 大模型配置(重要!)
# 如果你使用本地Ollama,设置如下:
OLLAMA_HOST=http://host.docker.internal:11434

保存配置文件后,我们就完成了最基础的设置。

3.3 启动所有服务

这是最简单的一步,一行命令搞定:

# 使用脚本启动所有服务
./scripts/start_all.sh

这个命令会完成以下工作:

  1. 拉取所有必需的Docker镜像
  2. 创建并启动所有容器(数据库、后端、前端等)
  3. 初始化数据库结构
  4. 启动所有服务

整个过程可能需要一些时间,取决于你的网络速度。耐心等待直到看到所有服务都启动成功的提示。

4. 常见问题与解决方案

在部署过程中可能会遇到一些小问题,这里我总结了一些常见的情况和解决方法。

4.1 端口冲突问题

如果你发现端口被占用,可以修改配置文件中的端口设置:

# 修改 .env 文件中的端口配置
APP_PORT=8082  # 改为其他未被占用的端口
POSTGRES_PORT=5433  # 如果5432被占用

修改后需要重新启动服务:

./scripts/start_all.sh --stop
./scripts/start_all.sh

4.2 数据库初始化失败

有时候数据库表没有正确创建,可以手动初始化:

# 检查现有表
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

4.3 容器启动失败

如果某个容器启动失败,可以查看具体日志:

# 查看所有容器状态
docker ps -a

# 查看具体容器的日志
docker logs weknora-app  # 替换为实际的容器名

5. 首次使用与配置

服务启动成功后,打开浏览器访问 http://你的服务器IP:8081(如果你修改了端口,就用修改后的端口)。

5.1 注册账号

第一次访问会看到登录界面,点击"立即注册"创建第一个账号:

  • 填写用户名、邮箱和密码
  • 建议使用真实邮箱,方便后续找回密码
  • 注册完成后用邮箱登录

5.2 配置知识库

登录后第一件事是创建知识库:

  1. 点击右上角"新建知识库"
  2. 输入知识库名称和描述
  3. 选择知识库类型(文档或FAQ)

5.3 模型配置

这是最关键的一步,需要配置大语言模型:

  1. 在知识库设置中选择"模型配置"
  2. 如果你使用本地Ollama,选择对应的模型
  3. 配置Embedding模型(用于文本向量化)
  4. 保存配置

建议初次使用选择较小的模型,这样响应速度更快。等熟悉后再尝试更大的模型。

5.4 上传文档

现在可以开始上传你的文档了:

  • 支持PDF、Word、TXT、Markdown等格式
  • 可以单文件上传或批量上传
  • 系统会自动解析文档内容并建立索引

6. 实际使用体验

部署完成后,我实际测试了一下WeKnora的效果。上传了几份技术文档后,尝试问了一些问题,发现检索效果确实不错。

比如我问"如何配置数据库连接",系统能够从文档中找到相关的配置章节,并给出准确的回答。多轮对话功能也很实用,可以基于之前的对话上下文继续提问。

响应速度方面,使用7B参数的模型时,回答生成时间在3-5秒左右,完全可以接受。内存占用大约在4-6GB,包括所有服务。

总结

整体来说,WeKnora的Docker部署确实很简单,基本上跟着步骤走就能成功。最大的优势是所有依赖都容器化了,不需要手动安装各种复杂的环境。

在实际使用中,WeKnora的文档理解能力令人印象深刻,特别是对技术文档的处理很准确。界面设计也很简洁,不需要太多学习成本就能上手。

如果你遇到问题,建议多看日志信息,大部分问题都能从日志中找到线索。还有就是记得保持Docker和系统更新,避免因为版本问题导致的兼容性故障。

现在你已经掌握了WeKnora的完整部署方法,接下来就是上传你自己的文档,开始体验智能知识管理的便利了。相信你会发现,这比传统的文档搜索方式要高效得多。


获取更多AI镜像

想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。

Logo

码道开发者社区,聚焦华为云码道 CodeArts 代码智能体,沉淀 Agent、Skill、鸿蒙开发实战内容,供开发者查阅资料、交流技术、分享工程实践

更多推荐