华为云 Flexus 云服务器 X 实例之 openEuler 系统下搭建 MaxKB 开源知识库问答系统

电子说

1.3w人已加入

描述

前言

在数字化转型的大潮中,华为云以其卓越的技术实力和稳定的服务表现,成为了众多企业和开发者信赖的云服务提供商。华为云 Flexus 云服务器 X 实例,凭借其柔性算力和高性价比,特别适合中小企业及个人开发者快速构建高效、灵活的应用环境。本文将详细介绍如何利用华为云 Flexus 云服务器 X 实例搭建基于 openEuler 系统的 MaxKB 开源知识库问答系统,为企业内部的知识管理和信息检索注入新的活力。

一、Flexus 云服务器 X 实例介绍

1.1 Flexus 云服务器 X 实例简介

· 官网地址:华为云Flexus云服务器X实例
 

华为云 Flexus 云服务器 X 实例是新一代面向中小企业和开发者的柔性算力云服务器。它能够智能感知业务负载的变化,自动调整资源配置。这款服务器特别适用于中低负载的应用场景,例如电商直播、企业网站建设、开发测试环境、游戏服务器以及音视频服务等。X 实例的设计理念旨在为用户提供更加灵活和高效的计算资源管理方式。通过智能调整,它可以更好地满足不同业务的需求,提高资源利用率。

华为云

1.2 Flexus 云服务器 X 实例特点

· 提供丰富的公共镜像:Flexus 云服务器 X 实例提供多种公共镜像供用户选择,方便快速部署各种应用和服务。

· 可灵活自定义 vCPU 内存配比:用户可以根据自己的需要灵活调整虚拟 CPU 和内存的配比,以满足不同场景的需求。

· 智能感知业务动态升降配:Flexus 云服务器 X 实例能够智能感知业务的负载情况,并根据需要自动升降配,以满足业务的需求,提高系统的稳定性和性能。

· 负载范围更高:相对于 Flexus 应用服务器 L 实例,Flexus 云服务器 X 实例能够处理更高的负载,适用于更复杂和繁忙的场景。

1.3 Flexus 云服务器 X 实例使用场景

Flexus 云服务器 X 实例针对不同的使用场景展现出其独特的优势:

1. 电商直播:利用 X 实例搭建电商交易平台,可以有效应对电商市场的瞬息万变,从容处理业务压力波动,确保交易过程顺畅无阻。

2. 企业建站:面向博客、william hill官网 和企业门户等应用场景,X 实例帮助企业高效传播价值信息,促进信息共享与交流,支持构建多功能传播和交互平台。

3. 个人开发测试:开发者在开发和测试过程中所需的环境资源可以通过 X 实例便捷获取,不仅提高了搭建效率,而且降低了成本。

4. 游戏服务器:适用于搭建游戏后台服务器,强大的计算能力可以轻松应对大量玩家同时在线的情况,同时支持平滑扩容,快速应对玩家数量增长的需求,以及提供出色的网络加速能力以提升用户体验。

二、MaxKB 介绍

2.1 MaxKB 简介

MaxKB 是一个基于大语言模型(LLM)构建的开源知识库问答系统,专为提升企业内部的知识管理和信息检索效率而设计。通过集成先进的人工智能技术,MaxKB 能够理解自然语言查询,并从庞大的知识库中快速准确地提取相关信息,从而帮助企业员工更高效地获取所需的知识和答案。

2.2 MaxKB 整体架构

· MaxKB 整体架构如下所示:

华为云

2.3 MaxKB 主要特点

· 智能化搜索:利用深度学习算法解析用户提问的真实意图,实现语义层面的匹配,而非简单的关键词匹配。

· 多源数据接入:支持多种格式的数据导入,包括文档、网页、数据库等,确保企业内外部的各种知识资源能够被充分利用。

· 自定义知识库:允许根据企业的具体需求定制化创建或扩展知识库内容,灵活适应不同行业背景下的特殊要求。

· 持续学习与优化:随着使用频率增加,系统能够不断积累经验并自我改进,提高回答问题的准确性与时效性。

· 易于集成:提供 API 接口及插件机制,方便与其他 IT 系统如 CRM、ERP 等进行无缝对接,形成统一的信息服务平台。

· 安全性保障:重视用户隐私保护,采用加密传输协议,并且可以设置访问权限控制,确保敏感资料的安全。

2.4 主要使用场景

· 客户服务:作为在线客服助手,自动响应客户咨询,减少人工客服的工作负担,同时保证 24/7 的服务可用性。

· 内部培训:为企业新员工提供自助式学习平台,涵盖公司政策、工作流程等多个方面,加速其融入过程。

· 技术支持:针对 IT 部门遇到的技术难题给出专业解答,辅助故障排查和技术文档查阅。

· 产品推广:向潜在客户提供详细的产品介绍和服务说明,增强销售转化率。

· 决策支持:通过对历史数据分析总结出有价值的趋势洞察,帮助管理层做出更加明智的战略规划。

三、本次实践介绍

3.1 本次实践简介

1.本次实践为个人测试学习环境,旨在快速部署应用,生产环境请谨慎;2.本次实践环境为华为云 Flexus 云服务器 X 实例,使用的操作系统为| openEuler;3.本次实践在 Docker 环境下搭建 MaxKB 开源知识库问答系统。

3.2 部署要求

部署服务器要求:

· 操作系统:Ubuntu 22.04 / CentOS 7.6 64 位系统

· CPU/内存:2C/4GB 以上

· 磁盘空间:100GB

3.3 本次环境规划

四、购买华为云 Flexus 云服务器 X 实例

4.1 登录华为云

进入华为云官网:https://activity.huaweicloud.com/,登录自己的华为云账号,进入华为云英国威廉希尔公司网站 。
 

华为云

华为云

4.2 进入 Flexus 云服务器 X 实例购买页面

我们在华为云官网英国威廉希尔公司网站 ,精选推荐模块中,可以看到 Flexus 云服务器 X 实例,点击进入 Flexus 云服务器 X 实例主页。

华为云

华为云

点击页面中的“购买”选项,进入 Flexus 云服务器 X 实例购买页面。

华为云

4.3 购买 Flexus 云服务器 X 实例配置

· 镜像选择:本次实践使用 openEuler 作为公共镜像,请根据实际需求自定义选择合适的操作系统镜像。

· 镜像切换说明:参考的公共镜像原为 Huawei Cloud EulerOS,但本次实践中已切换至 openEuler。

· 基础配置参考:购买时可参考以下基础配置进行选择。

· 确认配置及购买:在确认配置页面仔细检查 Flexus 云服务器 X 实例的各项设置,确保无误后点击“立即购买”,完成付款流程即可成功购买。

华为云

4.4 使用 Xshell 远程连接

进入华为云 Flexus 云服务的控制台,选择 Flexus 云服务器 X 实例,可以看到已经正在运行的 Flexus 云服务器 X 实例。

华为云

· 复制 Flexus 云服务器 X 实例的弹性公网 IP 地址

华为云

· 主要填写 Flexus 云服务器 X 实例的弹性公网 IP 地址,输入其登录用户和密码,连接即可。

华为云

华为云

五、检查 Docker 环境

5.1 检查操作系统版本

检查 Flexus 云服务器 X 实例的操作系统版本,本次实践选择的版本为 openEuler 22.03 LTS

[root@flexusx-51a1 ~]# cat /etc/os-releaseNAME="openEuler"VERSION="22.03 LTS"ID="openEuler"VERSION_ID="22.03"PRETTY_NAME="openEuler 22.03 LTS"ANSI_COLOR="0;31"

5.2 检查内核版本

检查当前操作系统的内核版本,当前内核版本为 5.10.0-60.139.0.166.oe2203.x86_64。

[root@flexusx-51a1 ~]# uname -r5.10.0-60.139.0.166.oe2203.x86_64

5.3 检查 Docker 版本

部署该项目需要提前安装 Docker 环境,检查 Docker 版本,当前安装的 Docker 版本为 26.1.3。

[root@flexusx-51a1 ~]# docker -vDocker version 26.1.3, build b72abbb

5.4 检查 Docker 服务状态

检查 Docker 服务状态,确保 Docker 服务正常。

[root@flexusx-51a1 ~]# systemctl status docker●docker.service - Docker Application Container Engine     Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)     Active: active (running) since Mon 2024-09-23 20:27:32 CST; 12min agoTriggeredBy:●docker.socket       Docs: https://docs.docker.com   Main PID: 18484 (dockerd)      Tasks: 10     Memory: 240.2M     CGroup: /system.slice/docker.service             └─18484 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock

5.5 检查 Docker compose 版本

检查 docker compose 版本,当前默认安装版本为 v2.27.0。

[root@flexusx-51a1 ~]# docker compose versionDocker Compose version v2.27.0

六、部署 MaxKB 系统

6.1 拉取 MaxKB 镜像

执行以下命令,拉取 MaxKB 镜像,镜像名称:cr2.fit2cloud.com/1panel/maxkb:latest。

[root@flexusx-51a1 ~]# docker pull cr2.fit2cloud.com/1panel/maxkbUsing default tag: latestlatest: Pulling from 1panel/maxkbDigest: sha256:d1211d7915d949a7a1a412ea4ec5f34942b8278f83a7333c9fa8d8027630a23eStatus: Image is up to date for cr2.fit2cloud.com/1panel/maxkb:latestcr2.fit2cloud.com/1panel/maxkb:latest

6.2 创建部署目录

在命令行终端上,我们需要创建部署目录/data/maxkb。

mkdir -p /data/maxkb && cd /data/maxkb

6.3 创建 MaxKB 容器

· 可参考以下 docker-cli 命令,快速创建 MaxKB 容器。

docker run -d --name=maxkb -p 8080:8080 -v ~/.maxkb:/var/lib/postgresql/data -v ~/.python-packages:/opt/maxkb/app/sandbox/python-packages cr2.fit2cloud.com/1panel/maxkb

本次实践使用 docker compose 方式部署 MaxKB 应用,编辑 docker-compose.yaml 文件,可自行修改映射端口部分。

vim docker-compose.yaml

version: '3.9'services:    1panel:        image: cr2.fit2cloud.com/1panel/maxkb        volumes:            - '~/.python-packages:/opt/maxkb/app/sandbox/python-packages'            - '~/.maxkb:/var/lib/postgresql/data'        ports:            - '8080:8080'        container_name: maxkb

执行以下命令,使用 docker-compose.yaml 文件创建 MaxKB 服务。

docker compose up -d

华为云

6.4 检查 MaxKB 容器状态

检查 MaxKB 容器状态,确保 MaxKB 容器正常启动。

[root@flexusx-51a1 maxkb]# docker compose psWARN[0000] /data/maxkb/docker-compose.yaml: `version` is obsoleteNAME      IMAGE                            COMMAND                  SERVICE   CREATED          STATUS          PORTSmaxkb     cr2.fit2cloud.com/1panel/maxkb   "bash -c /usr/bin/ru…"   1panel    33 seconds ago   Up 33 seconds   5432/tcp, 0.0.0.0:8080->8080/tcp, :::8080->8080/tcp

6.5 检查 MaxKB 容器日志

检查 MaxKB 容器运行日志,确保 MaxKB 服务正常运行。

docker compose logs

华为云

七、访问前准备工作

7.1 关闭 selinux 和防火墙

· 关闭 selinux

setenforce 0sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config

· 停止防火墙

systemctl stop firewalldsystemctl disable firewalld

7.2 Flexus 云服务器 X 实例安全组配置

进入 Flexus 云服务器 X 实例控制台,进行安全组规则配置。

华为云

入方向上放行 8080 端口,确认配置即可。

华为云

八、访问 MaxKB 服务

8.1 访问 MaxKB 初始页

浏览器访问地址:http://服务器 IP 地址:8080,将 IP 替换为自己云服务器弹性公网 IP 地址。浏览器打开后,进入 MaxKB 登录页。

华为云

8.2 登录 MaxKB

· 默认登录信息

· 用户名:admin

· 默认密码:MaxKB@123..

· 第一次登录,会自动提示修改登录密码,自定义修改即可。

华为云

华为云

九、MaxKB 配置工作

9.1 进入模型设置页面

登录 MaxKB 系统后,可以在【系统管理-模型设置】中添加模型,也可以在创建应用时再添加模型。

华为云

9.2 查询供应商 API Key 信息

我们此次选择的供应商为义千问大模型,登录其官网。在 DashScope 灵积模型服务控制台->API Key 管理中获取。

华为云

9.3 选择模型

在模型设置的供应商列表中,我们选择通义千问,点击“添加模型”。

华为云

· 模型名称:MaxKB 中自定义的模型名称。

· 模型类型:大语言模型。

· 基础模型:供应商的 LLM 模型,支持自定义输入,下拉选项是常用的一些大语言模型。

· API Key:需要在阿里云->DashScope 灵积模型服务->API Key 管理中获取。

华为云

华为云

9.4 创建知识库

打开【知识库】页面,点击【创建知识库】,进入创建知识库页面。

华为云

输入知识库名称、知识库描述、选择通用型知识库类型。根据如下图所示,自定义填写即可。

华为云

9.5 上传文档

上传本地文件,上传完毕后,确认“下一步”。

· 上传文档要求:

· 支持文本文件格式为:Markdown、TXT、PDF、DOCX、HTML;

· 支持 QA 问答对格式为:Excel、CSV;

· 每次最多上传 50 个文件;

· 每个文件不超过 100 MB;

· 支持选择文件夹,上传文件夹下符合要求的文件。

· 文档规范建议:

· 规范分段标识:离线文档的分段标识要有一定规范,否则拆分出来的段落会不规整。

· 段落要完整:一个分段中最好能描述一个完整的功能点或问题。

华为云

点击“开始导入”,其余配置默认即可。

华为云

查看文件状态,当如下图所示,文件状态显示为“成功”时候,则文档导入成功。

华为云

9.6 创建应用

点击【创建应用】,输入应用名称,选择【简易配置应用】,点击【创建】。

华为云

华为云

· 应用创建完成,进入简易配置应用的设置页面,左侧为应用信息,右侧为调试预览界面。

· 调试预览

· 完成上述设置后,可以在右侧调试预览中进行提问预览。

· 调试预览中的提问内容不会计入正式的对话日志,方便测试和调整应用配置。

华为云

十、使用体验与总结

通过在华为云 Flexus 云服务器 X 实例上搭建基于 openEuler 系统的 MaxKB 开源知识库问答系统,我们深刻体验到了华为云的强大性能和稳定性。整个部署过程流畅无阻,Flexus 云服务器 X 实例的柔性算力确保了系统能够高效处理复杂的自然语言查询任务。实践证明,华为云不仅提供了卓越的技术支持,还极大地简化了运维工作,使得中小企业和开发者能够轻松构建和管理高性能的应用。此外,华为云的高可用性和安全性进一步增强了我们对系统的信心,为企业的知识管理和信息检索带来了显著的效率提升。总体而言,华为云 Flexus 云服务器 X 实例展现了其在现代云计算环境中的出色表现,是企业数字化转型的理想选择。

在华为云 828 B2B 企业节期间,Flexus X 实例推出了重磅优惠活动。华为云凭借其顶级的云服务和卓越的性能稳定性,成为推动企业业务增长的理想选择。我们诚挚邀请各行各业的企业加入华为云大家庭,共同见证技术革新带来的无限可能。让我们携手并进,共同开创云端的辉煌未来,共享科技进步所带来的丰硕成果。

审核编辑 黄宇

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分