分享好友 最新动态首页 最新动态分类 切换频道
ChatGLM3构建企业私有知识库
2024-12-26 10:12

主要环节

核心架构

本文技术路线为:利用ChatGLM3-6b作为基座大模型,M3E作为向量模型,基于FastGPT建立用户知识库,One-API做统一API接口管理。其中ChatGLM3和M3E模型都是在windows下部署的,FastGPT和One-API是在Linux下部署。

在私有化和客制化大模型庞大需求推动下,除了从大模型的全量训练和微调这两个模型改动层面上,在大模型外添加一个知识库也是一种解决思路。因为,一方面重新训练模型需要相当多的资源和专业知识,另一方面大模型本身具有知识延迟问题和幻想问题。

  • 知识延迟问题是训练大模型需要一定的时间,从而训练数据就不可能具有实时性,而且相当耗费资源。

  • 幻想问题问题则由于LLM采用的概率模型,即预测生成下一个字符概率是多少,所有或多或少的它在生成结果的时候都有定的可能出现错误。

目前比较好的方式就是利用大模型极强的语义理解能力,给大模型外挂一个知识库或者搜索引擎去解决这两个问题。基于知识库的定制化服务是独立于大模型的,知识库可以理解为一个用于提示引导大模型,和提供客户特有知识的工具。

1.1 从Git拉取项目到本地

  • ChatGLM3 是智谱AI和清华大学 KEG 实验室联合发布的对话预训练模型。

  • Git地址连接

由于模型的权重文件很大,故需从HuggingFace上拉取到models目录下。

  • ChatGLM3-6B-base地址连接(不支持微调

  • ChatGLM3-6B地址连接

1.2 配置环境

在conda创建一个虚拟环境,其中需要python版本建议3.11以上,随后配置cuda和torch,可以先使用nvidia-smi命令查看cuda支持的最高版本,随后按照pytorch官网的命令进行安装。

切换到配置chatglm的conda环境后,使用pip install -r requirements.txt命令安装所需的包,若是单机单卡运行,可在相应文件中把模型地址进行更换,随后在cd到basic_demo后运行python cli_demo.py 或者 streamlit run web_demo_streamlit .py 进行本地运行。

1.3 本地运行ChatGLM3-6b

1.4 使用Lora微调ChatGLM3-6b

首先安装微调需要的包,pip install在finetune_demo中的requirements.txt;其中若是单机单卡的环境可以不安装deepseed。Git的官方微调引导页面

安装完之后可以使用官方开源的服饰广告语推荐的数据集进行微调尝试。先对该数据集进行格式转换,转换为 ChatGLM3 对话格式约定,例如多轮对话格式为

 
 

1.5 配置微调参数

参数在finetune-demo/configs/lora.yaml 文件中进行配置,具体参数有

在openai_api_demo/api_server.py 中修改本地大模型权重和向量模型地址(向量模型可先不设置,本文使用的是M3E模型)。

 

使用python api_server.py启动后使用postman工具进行测试。

测试请求体

二、部署M3E模型

M3E 是 Moka Massive Mixed Embedding 的缩写,其中

  • Moka,此模型由 MokaAI 训练,开源和评测,训练脚本使用 uniem ,评测 BenchMark 使用 MTEB-zh
  • Massive,此模型通过千万级 (2200w+) 的中文句对数据集进行训练

Mixed,此模型支持中英双语的同质文本相似度计算,异质文本检索等功能,未来还会支持代码检索

  • Embedding,此模型是文本嵌入模型,可以将自然语言转换成稠密的向量

M3E模型使用场景主要是中文,少量英文的情况,多语言使用场景,并且不介意数据隐私的话,建议使用 openai text-embedding-ada-002。

项目地址:moka-ai/m3e-base · Hugging Face,把项目拉下来即可使用。把项目地址在ChatGLM中openai_api_demo/api_server.py相应修改。

三、部署One-API

One-API使用Docker进行快速部署,One-API和FastGPT建议使用Linux系统进行部署,本文采用虚拟机安装了CentOS进行部署。

先安装Docker,Docker部署命令

 

One-API部署命令

由于FastGPT也是使用3000端口,这里One-API改用3080端口。

 

利用docker ps查看One-API是否启动

启动后在本地浏览器打开One-API地址为本地IP地址+3080端口,登录页初始账号为root,密码123456。

由于是本地部署的模型,需要在“渠道”里配置ChatGLM大模型M3E向量模型的地址。其中Base URL是能访问大模型的地址,密钥是自定义的,可以随意填写。

配置好后测试两个模型是否可以调用,点击测试按钮即可。

设置令牌,后面在配置FastGPT时会用到。

astGPT 是一个基于大语言模型的知识库问答系统,它为大模型的私有知识库提供便捷的数据处理、和不同模型调用等功能。

先来了解下 FastGPT 是如何进行知识库检索的。首先了解几个基本概念

  • 向量:将人类直观的语言(文字、图片、视频等)转成计算机可识别的语言(数组)。
  • 向量相似度:两个向量之间可以进行计算,得到一个相似度,即代表:两个语言相似的程度。
  • 语言大模型的一些特点:上下文理解、总结和推理。

结合上述 3 个概念,便有了 “向量搜索 + 大模型 = 知识库问答” 的公式。下图是 FastGPT V3 中知识库问答功能的完整逻辑

FastGPT本文在Linux系统下使用Docker进行部署,目前这也是官方推荐的部署方式,官网介绍链接

依次执行下面命令,创建 FastGPT 文件并拉取和,执行完后目录下会有 2 个文件。

 

接下来修改docker-compose.yml文件

主要修改fastgpt/environment下的OPENAI_BASE_URLCHAT_API_KEY

前者填入One-API的地址和端口号,后者填写设置好的令牌口令。数据库的账号密码可以后面再重新设定。

 

同时修改config.json文件

主要修改“llmModels”键值对中“model”和“name”的名字和其它需要的配置,如果不用其它的模型,保留这样一个字典就行,同时也要修改一下向量模型 "vectorModels"的“model”和“name”。

 

修改后启动容器

在 docker-compose.yml 同级目录下执行。同时确保版本最好在2.17以上,否则可能无法执行自动化命令。

 

用docker ps查看是否正常启动

若oneapi没正常启动

 

正常启动后在浏览器上访问fastgpt,本地ip:3000端口。

账号root,初始密码1234。创建应用后即可测试是否正常使用本地部署的大模型。

现在社会上大模型越来越普及了,已经有很多人都想往这里面扎,但是却找不到适合的方法去学习。

作为一名资深码农,初入大模型时也吃了很多亏,踩了无数坑。现在我想把我的经验和知识分享给你们,帮助你们学习AI大模型,能够解决你们学习中的困难。

很多人学习大模型的时候没有方向,东学一点西学一点,像只无头苍蝇乱撞,我下面分享的这个学习路线希望能够帮助到你们学习AI大模型。

二、AI大模型视频教程

三、AI大模型各大学习书籍

四、AI大模型各大场景实战案例

五、结束语

学习AI大模型是当前科技发展的趋势,它不仅能够为我们提供更多的机会和挑战,还能够让我们更好地理解和应用人工智能技术。通过学习AI大模型,我们可以深入了解深度学习、神经网络等核心概念,并将其应用于自然语言处理、计算机视觉、语音识别等领域。同时,掌握AI大模型还能够为我们的职业发展增添竞争力,成为未来技术领域的领导者。

再者,学习AI大模型也能为我们自己创造更多的价值,提供更多的岗位以及副业创收,让自己的生活更上一层楼。

最新文章
百度蜘蛛池优化:蜘蛛池搭建指南,打造高效关键词搜集利器
百度蜘蛛池优化指南,详细介绍了如何搭建高效关键词搜集工具。通过科学配置和策略,提升搜索引擎抓取效果,助力网站内容优化与流量提升。本文目录导读:蜘蛛池概述蜘蛛池搭建步骤蜘蛛池搭建注意事项随着互联网的快速发展,关键词在搜索引擎
笔记本电脑重装系统教程:一步步轻松搞定
本文将详细介绍如何为笔记本电脑重装系统,包括准备工作、选择操作系统、系统安装步骤以及安装后的优化和注意事项。通过本教程,您将能够轻松完成系统重装,提高电脑性能并解决可能遇到的问题。一、准备工作1. 备份重要数据:在重装系统之
【U98QQ输入法下载】欧新U98QQ输入法8.7.7免费下载
QQ输入法是一款高效、智能的手机输入软件。能够支持多种输入:拼音、英文、五笔、笔画、手写、语音、数字、符号,配合整句输入、智能纠错、云候选等扩展功能,更加便捷的满足了不同用户的需求。QQ输入法通过多项技术,为用户带来更快、更稳
网站快排名优化方法软件,提升搜索引擎排名的秘密武器,网站快速排名优化技巧
网站快排名优化方法软件是提升搜索引擎排名的秘密武器,通过优化网站内容和结构,提高网站在搜索引擎中的排名。该软件提供了一系列快速排名优化技巧,包括关键词研究、内容优化、链接建设等,帮助网站快速提升排名。使用这些技巧,可以吸引
【V1(移动4G)WiFi万能钥匙下载】vivo V1 移动4GWiFi万能钥匙5.1.01免费下载
下载WiFi万能钥匙,认准官方正版!免费安全WiFi热点,无忧一键连接。日常任务随时做,轻松赚现金外快~【积分赚钱】完成简单日常任务,轻轻松松赚现金【安全免费】随时随地免费连接,畅享安全免费WiFi,节省流量快人一步!【权威认证】通过
热门关注:贵阳在哪里看白癜风“top3!”伍德灯下淡白色荧光边界不清是什么
热门关注:贵阳在哪里看白癜风“top3!”伍德灯下淡白色荧光边界不清是什么。2024年白癜风医院排行榜:1、贵州皮肤病医院2、贵阳白癜风专科医院3、贵州白斑定点医院4、贵州医科大学附属医院(皮肤科)5、贵阳白癜风防治中心6、贵阳那家医院
【A620WiFi万能钥匙下载】联想A620WiFi万能钥匙5.1.02免费下载
下载WiFi万能钥匙,认准官方正版!免费安全WiFi热点,无忧一键连接。日常任务随时做,轻松赚现金外快~【积分赚钱】完成简单日常任务,轻轻松松赚现金【安全免费】随时随地免费连接,畅享安全免费WiFi,节省流量快人一步!【权威认证】通过
陈佳柔-那就好好告个别吧(抖音童声版)的QQ空间背景音乐外链:
https://www.ihaoge.net/server/1/182514757.mp3歌曲陈佳柔-那就好好告个别吧(抖音童声版)的MP3下载地址来源于网络分享,复制链接或者右键链接另存为即可下载MP3音乐,同时网站提供陈佳柔-那就好好告个别吧(抖音童声版)的QQ空间背景音乐歌
莆田搜狗SEO步骤,优化搜索排名,助力企业腾飞
随着互联网的不断发展,搜索引擎(SEO)已成为企业提升品牌知名度和吸引潜在客户的重要手段。在众多搜索引擎中,搜狗作为国内领先的搜索引擎,拥有庞大的用户群体。本文将结合地区实际情况,探讨如何运用搜狗SEO策略,优化搜索排名,助力企
淘宝直通车排名规则有哪些?排名模式介绍
本文主题淘宝直通车排名规则有哪些,淘宝直通车,淘宝问答。如今在淘宝平台上经营的各种规模的店铺中,很多人都用过淘宝直通车,但由于每个店主掌握的技巧不同,淘宝直通车的操作效果也很不一样,那么淘宝直通车排名的具体规则是什么?那么,
相关文章
推荐文章
发表评论
0评