828华为云征文|摆设知识库问答体系 MaxKB

打印 上一主题 下一主题

主题 1620|帖子 1620|积分 4860

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

1.1 云服务器介绍

云服务器是一种通过互联网提供捏造化计算资源的服务,用户可按需租用存储、数据库、网络等资源。它具有高可用性、可扩展性和机动性,支持按使用量付费,适合各种规模的企业和个人开发者,以实现成本效益和业务敏捷性。
华为云下一代云服务器Flexus X实例焕新上线,新产品具备柔性算力,六倍性能,旗舰体验,覆盖高科技、零售、金融、游戏等行业大多数通用工作负载场景,从而帮您快速上云!

Flexus X实例通过和其他服务组合,具备计算、镜像安装、网络、存储、安全等能力,您可根据业务必要机动配置各资源。


本次测评使用的规格是:4核12G-100G-3M规格的Flexus X实例底子模式

1.2 焦点竞争力



  • 柔性算力随心配
    首创CPU内存规格机动定义,突破1:2次幂的固有配比,实现1:3、2:5等自定义特殊规格,量身匹配业务性能诉求
  • 一直加速一直快
    首创大模型QoS保障,智能全域调理,算力分配长稳态运行,一直加速一直快
  • 越用越省降本多
    针对迁徙场景智能资源预画像,资助用户在华为云上推荐匹配的资源规格,降本可达30%
  • 安全可靠更放心
    拥有国内最大SRE团队之一,基于华为云定性运维理念,确保云服务超高可用性
1.3 计费模式

计费模式包年/包月按需计费付费方式预付费按照订单的购买周期结算。后付费按照云服务器实际使用时长计费。计费周期按订单的购买周期计费。秒级计费,按小时结算。关机是否计费关机对包年/包月的X实例计费无影响。云服务器按订单的购买周期计费。关机后,底子资源(包括vCPU、内存、镜像)不计费。其他绑定资源(如云硬盘、弹性公网IP、带宽等)正常计费。是否支持变动规格支持变动实例规格。支持变动实例规格。是否支持备案支持备案。需包月3个月及以上(包含多次续费后累计时长)。不支持备案。实用场景实用于可预估资源使用周期的场景,代价比按需计费模式更优惠。对于长期使用者,推荐该方式。实用于计算资源需求颠簸的场景,可以随时开通,随时删除。 二、Flexus云服务器X实例配置

2.1 重置暗码

购买完成后,会短信通过你的云服务器信息,重点是公网IP地址和用户名。起首我们必要打开你的服务器控制台,完成重置暗码

勾选主动重启,点击确定即可。

2.2 服务器毗连



  • 方式一:使用控制台提供的VNC方式登录
  • 方式二:使用Putty、Xshell等工具登录Linux弹性云服务器,
    a) 下载安装登录工具,比方Putty。
    b) 输入弹性公网IP。
    c) 输入用户名:root、暗码,单击“确定”。
  • 方式三:使用Linux/Mac OS体系主机登录Linux弹性云服务器。
    a) 实行毗连命令。
    ssh 弹性公网IP
    比方:ssh 123.xxx.xxx.456
    b) 输入用户名:root、暗码,登录服务器。
我个人习惯使用 MobaXterm 这款软件,添加SSH毗连,输出公网IP、用户名和端口(默认22),毗连即可。

2.3 安全组配置

安全组是一个逻辑上的分组,为同一个VPC内的云服务器提供访问策略。用户可以在安全组中定义各种访问规则,当云服务器加入该安全组后,即受到这些访问规则的保护。
体系为每个网卡默认创建一个默认安全组,默认安全组的规则是对出方向上的数据报文全部放行,入方向访问受限。您可以使用默认安全组,也可以根据必要创建自定义的安全组。

重要必要填写优先级(默认填1即可)、协议端口信息(一般选择你项目必要袒露的端口即可),其他默认点击确定即可。安全组配置重要是袒露端口可以给外网访问。

如果还不清楚可以参考文档:安全组配置示例
三、摆设 MaxKB

3.1 MaxKB 介绍

MaxKB = Max Knowledge Base,是一款基于大语言模型和 RAG 的开源知识库问答体系,广泛应用于企业内部知识库、客户服务、学术研究与教诲等场景。


  • 开箱即用
    支持直接上传文档、主动爬取在线文档,支持文本主动拆分、向量化、RAG(检索增强生成),智能问答交互体验好;
  • 无缝嵌入
    支持零编码快速嵌入到第三方业务体系,让已有体系快速拥有智能问答能力,提高用户满意度;
  • 机动编排
    内置强大的工作流引擎,支持编排 AI 工作流程,满足复杂业务场景下的需求;
  • 模型中立
    支持对接各种大语言模型,包括当地私有大模型(Llama 3 / Qwen 2 等)、国内公共大模型(通义千问 / 智谱 AI / 百度千帆 / Kimi / 腾讯混元 / DeepSeek 等)和国外公共大模型(OpenAI / Azure OpenAI / Gemini / Claude 等)。

知识库问答体系 MaxKB 的意义在于,它不光能够明白天然语言查询,还能从大规模知识库中快速检索相关信息,从而生成高质量的答案。这对于提拔客户服务体验、加速企业决定流程、支持科学研究等多个范畴都有着重要的应用价值,使得机器能够更加智能地辅助人类办理实际问题。


  • 官网:https://maxkb.cn/
  • Github:https://github.com/1Panel-dev/MaxKB
3.2 Docker 情况搭建

本次服务器情况是ubuntu体系镜像,必要自己安装docker情况
服务器类别体系镜像内网IP地址Docker版本操纵体系版本Flexus云服务器X实例Ubuntu192.168.0.16827.2.0Ubuntu 22.04.4 LTS 使用apt-get命令安装docker及其配置
  1. # 安装必要工具包
  2. $ sudo apt-get install \
  3.     apt-transport-https \
  4.     ca-certificates \
  5.     curl \
  6.     gnupg-agent \
  7.     software-properties-common
  8. # 添加Docker GPG秘钥
  9. $ sudo curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
  10. # 配置仓库源
  11. $ sudo add-apt-repository \
  12.       "deb [arch=amd64] https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu \
  13.       $(lsb_release -cs) \
  14.       stable"       
  15. # 更新apt包索引
  16. $ sudo apt-get update
  17. # 安装docker
  18. $ sudo apt-get install docker-ce docker-ce-cli containerd.io
  19. # 添加docker镜像源
  20. $ sudo vim /etc/docker/daemon.json
  21. {
  22.     "registry-mirrors": [
  23.         "https://ustc-edu-cn.mirror.aliyuncs.com/",
  24.         "https://docker.mirrors.ustc.edu.cn",
  25.         "https://docker.nju.edu.cn",
  26.         "https://ccr.ccs.tencentyun.com/",
  27.         "https://docker.m.daocloud.io/",
  28.         "https://dockerproxy.com",
  29.     ]
  30. }
  31. # 重启
  32. $ sudo systemctl daemon-reload
  33. $ sudo systemctl restart docker
复制代码
测试docker安装是否乐成
  1. root@flexusx-c6b3:~# docker -v
  2. Docker version 27.2.0, build 3ab4256```
复制代码
查抄docker服务状态
  1. root@flexusx-c6b3:~# systemctl status docker
  2. * docker.service - Docker Application Container Engine
  3.      Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
  4.      Active: active (running) since Fri 2024-08-30 15:53:45 CST; 17h ago
  5. TriggeredBy: * docker.socket
  6.        Docs: https://docs.docker.com
  7.    Main PID: 24912 (dockerd)
  8.       Tasks: 13
  9.      Memory: 24.7M
  10.         CPU: 3.778s
  11.      CGroup: /system.slice/docker.service
  12.              `-24912 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
复制代码
查抄docker compose版本
  1. root@flexusx-c6b3:~# docker compose version
  2. Docker Compose version v2.29.2
复制代码
3.3 MaxKB 摆设



  • 创建 docker-compose.yml
  1. version: "3.5"
  2. services:
  3.   maxkb:
  4.     image: cr2.fit2cloud.com/1panel/maxkb
  5.     container_name: maxkb
  6.     restart: unless-stopped
  7.     ports:
  8.       - "3456:8080"
  9.     volumes:
  10.       - ./maxkb:/var/lib/postgresql/data
  11.       - ./python-packages:/opt/maxkb/app/sandbox/python-packages
复制代码
  

  • volumes:映射容器内部文件路径到当地
  • ports:配置访问端口
  如果将上述代码片断保存在名为 docker-compose.yml 的文件中,则只需从同一文件夹中运行 docker compose up -d 即可主动拉取 MaxKB 镜像,并创建并启动一个容器。 up 表示启动服务,-d 表示在背景实行。docker-compose down 命令用于制止和清算由 docker-compose up 启动的服务。


  • 配置安全组
在Flexus云服务器X实例的安全组管理页面,添加入方向规则,接下来我们启动服务必要监听3456端口,所以添加安全组为TCP:3456协议端口。



  • 启动服务
进入项目目次,实行docker compose up -d启动命令,会主动拉取容器并运行
   从 Dockerhub 拉取 MaxKB 镜像,地址:https://hub.docker.com/r/1panel/maxkb
  1. root@flexusx-c6b3:~/maxkb# docker-compose up -d
  2. Creating network "maxkb_default" with the default driver
  3. Pulling maxkb (cr2.fit2cloud.com/1panel/maxkb:latest)...
  4. latest: Pulling from 1panel/maxkb
  5. 8a1e25ce7c4f: Pull complete
  6. b2be002daccf: Pull complete
  7. 71dff0956c31: Pull complete
  8. 962627501404: Pull complete
  9. c23077a7a05a: Pull complete
  10. 40632b8e7084: Pull complete
  11. cfbec5f1dac7: Pull complete
  12. d1743de7c97b: Pull complete
  13. c9cde040a07c: Pull complete
  14. 3a23a8d46005: Pull complete
  15. f499f39f0f2d: Pull complete
  16. 2cf0f5381fa5: Pull complete
  17. 89f512733a11: Pull complete
  18. 45deb7326cc7: Pull complete
  19. 4da1588ee668: Pull complete
  20. d3f2ea1b2dc4: Pull complete
  21. a651e1af8a2c: Pull complete
  22. b0f10305f06f: Pull complete
  23. 25d51f67048a: Pull complete
  24. 2b72b0c37d09: Pull complete
  25. Digest: sha256:25a2f81682da5dff39b95aeb331c069eb29449be809b80b8b0105ea3f1f6e064
  26. Status: Downloaded newer image for cr2.fit2cloud.com/1panel/maxkb:latest
  27. Creating maxkb ...
  28. Creating maxkb ... done
复制代码


  • 查抄容器状态
查抄 MaxKB 容器状态,确保容器正常启动
  1. root@flexusx-c6b3:~/maxkb# docker ps
  2. CONTAINER ID   IMAGE                            COMMAND                  CREATED              STATUS          PORTS                                                 NAMES
  3. b032cd415d31   cr2.fit2cloud.com/1panel/maxkb   "bash -c /usr/bin/ru…"   About a minute ago   Up 53 seconds   5432/tcp, 0.0.0.0:3456->8080/tcp, :::3456->8080/tcp   maxkb
复制代码


  • 访问地址
内网:http://localhost:3456
外网:http://公网IP:3456


  • 访问结果

若出现此页面,则摆设 maxkb server 乐成。
3.4 MaxKB 使用

输入默认的用户名和暗码,完成登录
   默认登录信息
用户名:admin
暗码:MaxKB@123…
  

登录后必要重新修改暗码,修改完成后就可以进入主页面了

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

在供应商中选择【 Ollama 】,然后点击【添加模型】,进入 Ollama 表单,点击【添加】后校验通过则添加乐成,便可以在应用的 AI 模型列表选择该模型
   

  • 模型名称:MaxKB 中自定义的模型名称。
  • 模型范例:大语言模型或向量模型。
  • 底子模型:供应商的 LLM 模型,支持自定义输入,但必要与供应商的模型名称保持同等,体系会主动下载摆设模型。
  • API 域名和 API Key: Ollama 服务地址,比方:http://42.92.198.53:11434 。若没有设置 API Key,可以输入恣意字符。
  

这里填入的API域名为之前摆设的 ollama,可以通过此网址和端口,如http://123.60.144.170:11434,进行测试是否是可用的,出现Ollama is running 则是可用的

添加完成后,就可以显示在全部模型列表中了,默认是有一个 maxkb-embedding 的向量模型的

打开 知识库 页面,点击 创建知识库,进入创建知识库页面。 输入知识库名称、知识库形貌、向量模型、选择通用型知识库范例

然后将离线文档通过拖拽方式或选择文件上传方式进行上传,支持文本文件格式为:Markdown、TXT、PDF、DOCX、HTML

设置分段规则,目前 MaxKB 支持智能分段以及高级分段两种分段方式。
   智能分段
(1)MarkDown 范例的文件智能分段规则:
根据标题逐级下钻式分段(最多支持 6 级标题),每段的字符数最大为 4096 个字符;
当最后一级的文本段落字符数凌驾设置的分段长度时,会查找分段长度以内的回车进行截取。
(2)HTML、DOCX 范例的智能分段规则:
识别标题格式转换成 markdown 的标题样式;
逐级下钻进行分段(最多支持 6 级标题)每段的字符数最大为 4096 个字符。
(3)TXT和 PDF 范例的文件智能分段规则:
按照标题# 进行分段,若没有#标题的则按照字符数4096个字符进行分段;
查找分段长度以内的回车进行截取。
  

还可以选择高级分段,必要自己更根据上传的文件设置规则
   高级分段
用户可以根据文档规范自定义设置分段标识符、分段长度及主动清洗。
  

  • 分段标识支持:#、##、###、####、#####、######、-、空行、回车、空格、分号、逗号、句号,还可以手动输入分段标识符。
  • 分段长度:支持最小 50个字符,最大 4096 个字符。
  • 主动清洗:开启后体系会主动去掉重复多余的符号如空格、空行、制表符等。
  

开始导入后,会先索引中,等待文件状态变成乐成即可

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

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

  • 应用名称:用户提问时对话框的标题和名字。
  • 应用形貌:对应用场景及用途的形貌。
  • AI模型:在【体系设置】-【模型管理】中添加的大语言模型。
  • 提示词:体系默认有智能知识库的提示词,用户可以自定义通过调整提示词内容,可以引导大模型聊天方向.
  • 多轮对话:开启后当用户提问时,将携带用户在当前会话中最后3个问题;不开启则仅向大模型提交当前问题。
  • 关联知识库:用户提问后会在关联的知识库中检索分段。
  • 开场白:用户打开对话时,体系弹出的问候语。支持 Markdown 格式;[-]后的内容为快捷问题,一行一个。
  • 问题优化:对用户提出的问题先进行一次 LLM 优化处理,将优化后的问题在知识库中进行向量化检索;开启后能提高检索知识库的正确度,但由于多一次询问大模型会增长回答问题的时长。
  

知识库还可以进行参数设置,比如检索模式
   

  • 检索:使用向量模型通过向量间隔计算与用户问题最相似的文天职段;
  • 全文检索:通过关键词检索,返回包含关键词最多的文天职段;
  • 肴杂检索:同时实行全文检索和向量检索,再进行重排序,从两类查询结果中选择匹配用户问题的最佳结果。
  

应用信息设置完成后,可以在右侧调试预览中进行提问预览

在应用列表页面,在概览页面点击演示或在欣赏器中复制公开访问链接进入问答页面进行提问

访问公开访问链接,可以分享给他人使用

我们来查看下 MaxKB 的映射文件路径下的布局
  1. root@flexusx-c6b3:~/maxkb# tree -L 1
  2. .
  3. |-- docker-compose.yml
  4. |-- maxkb
  5. `-- python-packages
  6. 2 directories, 1 file
复制代码


  • maxkb 即为 postgresql 数据库目次
  • python-packages 即为python库依赖目次
基于MaxkB搭建当地知识库问答体系,能够实现对敏感数据的当地化存储与管理,确保信息安全。同时,该体系支持快速检索与智能生成,资助企业或个人高效使用已有知识,提拔工作效率。实用于教诲培训、企业内部知识分享等多种场景,促进知识积累与创新应用。MaxkB的基本使用就操纵到此了,添加模型、添加知识库、添加应用和使用应用操纵,其中对文档文件的检索设置还必要细致研究下,另有更多有趣的设置和功能就必要自行探索了。
四、总结

基于大型语言模型和检索增强生成(RAG, Retrieval-Augmented Generation)的知识库问答体系联合了深度学习的强大文本生成能力和布局化数据的正确检索上风,能够在回答复杂问题时提供更正确、上下文相关的响应。此次使用的Flexus X实例配置照旧很高的4核12G-100G-3M规格的底子模式,在回答过程中,输出比较迟钝,我这里将ollama摆设在了同一个服务器上了,使用的模型的是llama2:7b,没有限制最大CPU和内存使用,使用纯CPU推理的,回答问题时CPU和内存都会上升,但整体负载评估是运行流畅。

华为云服务器,以卓越的性能和稳定性著称,提供机动的资源配置,满足差别业务需求。现在正值828 B2B企业节,享受限时优惠,免费试用和专属技能支持,让您的业务更上一层楼。立刻行动,体验华为云的高效与便捷,助力您的企业快速发展。


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

小秦哥

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表