WeKnora一键部署教程Linux环境下Docker快速安装指南1. 引言你是不是也遇到过这样的情况公司内部文档堆积如山想要快速找到某个技术方案或者产品说明却要在成百上千个文件中翻来覆去地搜索或者作为研究人员需要从大量论文中提取关键信息却苦于没有高效的检索工具今天我要介绍的WeKnora正是为了解决这些问题而生的。它是一个基于大语言模型的智能知识库系统能够理解文档内容实现精准的语义检索和智能问答。最棒的是它支持完全本地化部署确保你的数据安全可控。本教程将手把手教你在Linux服务器上使用Docker快速部署WeKnora。无论你是使用Ubuntu还是CentOS跟着步骤走30分钟内就能搭建起属于自己的智能知识库系统。2. 环境准备在开始部署之前我们需要确保系统环境满足基本要求。WeKnora的部署相对简单但一些前置条件的准备很重要。2.1 系统要求首先确认你的Linux系统版本。WeKnora支持主流的Linux发行版# 查看系统版本 cat /etc/os-release # 查看内核版本要求3.10以上 uname -r硬件方面建议配置CPU4核以上支持AVX指令集内存8GB以上16GB更佳磁盘至少20GB可用空间2.2 Docker安装与配置如果你的系统还没有安装Docker可以按照以下步骤安装# 卸载旧版本如有 sudo apt-get remove docker docker-engine docker.io containerd runc # 安装依赖包 sudo apt-get update sudo apt-get install apt-transport-https ca-certificates curl gnupg lsb-release # 添加Docker官方GPG密钥 curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg # 设置稳定版仓库 echo deb [archamd64 signed-by/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable | sudo tee /etc/apt/sources.list.d/docker.list /dev/null # 安装Docker引擎 sudo apt-get update sudo apt-get install docker-ce docker-ce-cli containerd.io # 验证安装 sudo docker run hello-world对于CentOS系统安装步骤类似# 卸载旧版本 sudo yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine # 安装必要包 sudo yum install -y yum-utils # 设置仓库 sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo # 安装Docker sudo yum install docker-ce docker-ce-cli containerd.io # 启动Docker sudo systemctl start docker sudo systemctl enable docker2.3 Docker Compose安装WeKnora使用Docker Compose进行多容器管理需要单独安装# 下载最新版本的Docker Compose sudo curl -L https://github.com/docker/compose/releases/download/v2.24.0/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose # 添加执行权限 sudo chmod x /usr/local/bin/docker-compose # 验证安装 docker-compose --version2.4 端口检查确保以下端口没有被其他服务占用8080前端Web界面8081后端API服务5432PostgreSQL数据库6379Redis缓存可以使用以下命令检查端口占用情况# 检查端口占用 sudo netstat -tulpn | grep :8080 sudo netstat -tulpn | grep :5432如果发现端口冲突可以在后续配置中修改端口映射。3. 快速部署WeKnora环境准备就绪后我们就可以开始部署WeKnora了。整个过程分为几个简单的步骤。3.1 获取项目代码首先从GitHub克隆WeKnora项目# 创建部署目录 mkdir -p /opt/weknora cd /opt/weknora # 克隆项目如果网络较慢可以使用镜像源 git clone https://github.com/Tencent/WeKnora.git cd WeKnora如果GitHub访问较慢也可以下载ZIP包并解压wget https://github.com/Tencent/WeKnora/archive/refs/heads/main.zip unzip main.zip mv WeKnora-main WeKnora cd WeKnora3.2 配置环境变量WeKnora使用环境变量文件进行配置我们先复制示例文件# 复制环境变量模板 cp .env.example .env现在编辑.env文件配置必要的参数# 使用nano或vim编辑配置文件 nano .env主要需要关注的配置项包括# 数据库配置 POSTGRES_USERpostgres POSTGRES_PASSWORDyour_secure_password POSTGRES_DBweknora # 服务端口配置如果默认端口被占用可以修改这些值 FRONTEND_PORT8080 BACKEND_PORT8081 # 大模型配置初期可以先使用默认值后续再调整 INIT_LLM_MODEL_NAMEqwen2.5-7b-instruct对于初学者建议先使用默认配置确保系统能够正常启动。后续可以根据实际需求调整模型配置和其他参数。3.3 启动服务配置完成后使用提供的脚本一键启动所有服务# 添加执行权限如果需要 chmod x scripts/start_all.sh # 启动所有服务 ./scripts/start_all.sh这个过程可能会花费一些时间因为需要下载多个Docker镜像并启动相关容器。首次启动时Docker会下载基础镜像具体时间取决于网络速度。启动完成后可以使用以下命令检查服务状态# 查看容器运行状态 docker ps # 查看服务日志 docker logs weknora-app如果一切正常你应该看到所有容器都处于运行状态。4. 常见问题与解决方案在部署过程中可能会遇到一些常见问题。这里我总结了一些典型问题及其解决方法。4.1 端口冲突问题如果发现端口被占用可以修改.env文件中的端口配置# 修改为其他可用端口 FRONTEND_PORT8082 BACKEND_PORT8083修改后需要重新启动服务./scripts/start_all.sh --stop ./scripts/start_all.sh4.2 数据库初始化失败有时候数据库表没有正确创建可以手动初始化# 进入数据库容器 docker exec -it weknora-postgres psql -U postgres -d weknora # 执行初始化脚本 \i /docker-entrypoint-initdb.d/00-init-db.sql4.3 内存不足问题如果系统内存较小可能会遇到容器启动失败的情况。可以尝试调整Docker资源限制# 编辑Docker配置 sudo nano /etc/docker/daemon.json # 添加内存限制配置 { default-ulimits: { memlock: { hard: -1, soft: -1 } } }重启Docker服务使配置生效sudo systemctl restart docker4.4 磁盘空间不足如果磁盘空间不足可以清理不必要的Docker资源# 清理未使用的镜像、容器和卷 docker system prune -a --volumes5. 验证部署效果服务启动后我们需要验证WeKnora是否正常工作。5.1 访问Web界面打开浏览器访问你的服务器IP和配置的端口默认是8080http://你的服务器IP:8080如果一切正常你应该能看到WeKnora的登录界面。首次使用需要注册账号点击立即注册并填写相关信息。5.2 创建知识库登录成功后按照以下步骤创建你的第一个知识库点击右上角的新建知识库输入知识库名称和描述配置相关模型设置初期可以使用默认配置上传测试文档支持PDF、Word、TXT等格式5.3 测试问答功能上传文档后系统会自动处理并建立索引。处理完成后你可以尝试提问在问答界面输入相关问题观察系统是否能从上传的文档中提取正确答案测试多轮对话功能6. 总结通过本教程你应该已经成功在Linux服务器上部署了WeKnora知识库系统。整个过程虽然涉及多个步骤但按照指南操作基本上不会遇到太大问题。WeKnora的强大之处在于它能够理解文档的语义内容而不仅仅是关键词匹配。这意味着你可以用自然语言提问系统会从上传的文档中找到最相关的信息并生成准确的回答。在实际使用中你可能会发现一些需要优化的地方比如调整模型参数、配置更合适的检索策略等。这些都可以在系统运行稳定后逐步进行。记得定期备份重要的知识库数据特别是当你上传了大量有价值文档后。备份可以通过导出知识库内容或者直接备份数据库来实现。希望这个教程能帮助你快速搭建起自己的智能知识库系统。如果在使用过程中遇到其他问题可以查阅WeKnora的官方文档或者社区讨论。获取更多AI镜像想探索更多AI镜像和应用场景访问 CSDN星图镜像广场提供丰富的预置镜像覆盖大模型推理、图像生成、视频生成、模型微调等多个领域支持一键部署。