ChatGLM3-6B和langchain阿里云部署

提示:文章寫完后,目錄可以自動生成,如何生成可參考右邊的幫助文檔

文章目錄

  • 前言
  • 一、ChatGLM3-6B部署
    • 搭建環境
    • 部署GLM3
  • 二、Chatglm2-6b+langchain部署
  • 三、Tips
  • 四、總結


前言

提示:這里可以添加本文要記錄的大概內容:

看了幾天chatglm和langchain的部署,經過不斷報錯,終于試出了可以運行的方案,不過本地知識庫搭建還有問題,要再看看。本文主要介紹ChatGLM3-6B的部署和實現效果,和Chatglm2-6b+langchain結合的實現效果。


提示:以下是本篇文章正文內容,下面案例可供參考

一、ChatGLM3-6B部署

搭建環境

用阿里云免費資源進行創建實例,詳情可參考
在這里插入圖片描述點擊試用,OSS那里要勾上,看別人都勾了,不過我沒勾,不知道會不會有什么問題,然后授權就行了。

創建完后進入控制臺,點擊【交互式建模DSW】,進行創建實例,只能選擇可抵扣計算時的V100或者A10,只有這兩個規格的GPU是免費試用的(頁面沒有的話,可以過段時間再進去可能就有了,不過用哪個都行不過A10沒那么耗資源)。
因為我們的是資源包,所以可以創建n個實例,我創建了一個V100的實例,配置如下:

官方鏡像:pytorch2.0.1tensorflow2.13.0-cpu-py38-ubunt(最新的)

部署GLM3

1、點擊創建的實例,進入terminal,輸入:

apt-get update
apt-get install git-lfs 
git init
git lfs install 

2、首先git clone下載GLM3倉庫,并切換到這個文件夾下

git clone https://github.com/THUDM/ChatGLM3
cd ChatGLM3

3、然后使用 pip 安裝依賴:

最新版本中,建議在WEBIDE雙擊打開requirements.txt,然后把其中的“gradio~=3.39”修改成“gradio==3.39”

4、加好保存后,運行下面腳本:

pip install -r requirements.txt

5、git 下載本地模型

從modelscope上git下載模型,一個速度快,而且也不會因為網絡問題下載不下來

git clone https://www.modelscope.cn/ZhipuAI/chatglm3-6b.git

6、修改變量路徑并啟用
有2個文件需要修改變量路徑,一個是basic_demo下的“web_demo.py”,另一個是chatgm3-6b下的“config.json”,都是把默認的“THUDM/”修改為“/mnt/workspace/ChatGLM3/”(就是修改為chatglm3-6b所在的本地目錄)
這里的修改,可以使用vim,也可以在WEBIDE中直接左邊欄雙擊打開文件修改(推薦)

7、運行下列代碼啟動web_demo.py

python /mnt/workspace/ChatGLM3/basic_demo/web_demo.py

點擊第二個url跳轉后就可以進行對話了。如下圖所示
在這里插入圖片描述

二、Chatglm2-6b+langchain部署

借鑒網頁1

借鑒網頁2

先創建實例:A10,鏡像在官方鏡像里面選pytorch-develop:1.12-cpu-py39-ubuntu20.04

之前用鏡像url輸入地區url和選了官方鏡像里面的*modelscope:*相關的鏡像都因為版本之類的原因報錯了。
更新一下:

apt-get update
apt-get install git-lfs 
git init
git lfs install 

接著下載好相關的模型和源碼:

目錄結構參考:
在這里插入圖片描述
/mnt/workspace目錄下安裝

git clone https://github.com/THUDM/ChatGLM2-6B.git
git clone https://www.modelscope.cn/ZhipuAI/chatglm2-6b.git
git clone https://github.com/chatchat-space/Langchain-Chatchat.git
cd langchain-ChatGLM
git clone https://www.modelscope.cn/thomas/text2vec-base-chinese.git

該網站有許多模型可以下載,因為現在好像沒辦法在huggle.co下載模型了,國內推薦在modelscope里面下載。

分別在/ChatGLM2-6B 和/langchain-ChatGLM目錄下執行pip install –r requirements.txt

安裝依賴。

修改模型對應路徑:

1.chatglm2-6b:

chatglm2-6b模型在目錄的config.json文件中修改"_name_or_path"

在這里插入圖片描述

2.ChatGLM2-6B:

web_demo.pyweb_demo2.py中都把tokenizermodel的路徑修改為本地chatlm2-6b的路徑

在這里插入圖片描述

3.langchain-ChatGLM:

  • 修改configs目錄下的文件后面的.example都去掉

在這里插入圖片描述

  • 修改model_config.py
# 01.僅指定 chatglm2-6b
LLM_MODELS = ["chatglm2-6b", ]# 02.指定為 空
ONLINE_LLM_MODEL = { }# 03.僅指定 text2vec-base-chinese chatglm2-6b
MODEL_PATH = {
"embed_model": {# 僅指定 這一個"text2vec-base-chinese": "/mnt/workspace/langchain-ChatGLM/text2vec-base-chinese",},"llm_model": {# 僅指定 這一個"chatglm2-6b": "/mnt/workspace/chatglm2-6b",},
}# 04.僅指定 chatglm2
SUPPORT_AGENT_MODEL = ["chatglm2",
]
  • 修改server_config.py
FSCHAT_MODEL_WORKERS = {# 所有模型共用的默認配置,可在模型專項配置中進行覆蓋。"default": {"host": DEFAULT_BIND_HOST,"port": 20002,"device": LLM_DEVICE,"infer_turbo": False,}
}

創建知識庫
python init_database.py --recreate-vs

執行私有庫模型

python startup.py -a

點擊執行后的網址就出來了:

在這里插入圖片描述

使用的時候內存消耗比較大

在這里插入圖片描述


三、Tips

1、該網站有許多模型可以下載,因為現在好像沒辦法在huggle.co下載模型了,國內推薦在modelscope里面下載。

2、當我們國內的網打不開一些模型網站時,可以先用魔法,download下來到本地,然后上傳到gitee再git clone借鑒網站

3、pip install的時候建議后面加清華源,一個是速度快,還有一個是能避免一些錯誤(雖然不知道為什么)

pip install 安裝包名字 -i https://pypi.tuna.tsinghua.edu.cn/simple/ --trusted-host pypi.tuna.tsinghua.edu.cn //清華大學

pip install 安裝包名字 -i http://[pypi](https://so.csdn.net/so/search?q=pypi&spm=1001.2101.3001.7020).doubanio.com/simple/ --trusted-host pypi.doubanio.com //豆瓣鏡像網站

四、總結

不管怎么樣首先還是要自己去多實踐,實踐出真知,我也創建了好幾個實例,用了不同環境,修改方法才慢慢摸索出來,而且試多了也大概知道一些錯誤怎么修改還有修改原因之類的,所以越到后面越熟練了,我做這個部署也有幾天了,每天看不同的網頁,阿里云、本地都有嘗試(本地可能是電腦太垃了搞不起來,畢竟莫得獨顯),成功的時候還是比較欣慰的,所以大家一定要堅持,很多東西尤其是沒試過的東西很難一蹴而就,往往需要我們不斷嘗試累積經驗。

之后去再看看本地知識庫搭建,然后了解transformer相關內容。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/211647.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/211647.shtml
英文地址,請注明出處:http://en.pswp.cn/news/211647.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

ffmpeg之ffprobe.c源碼分析一---大流程及核心代碼分析

文章目錄 前言為什么學習ffprobe源碼源碼調試main()函數重要流程函數分析open_input_file函數分析avformat_match_stream_specifier函數分析read_packets函數分析本篇文章帶你打通ffprobe源碼的脈絡。 關注公眾號免費看: 前言 注:本文章全憑個人經驗以及平時學習所記錄,由…

gdal合成多個波段

def synthesis_bands(dst_list, outfile):"""將多光譜波段合成一個tif:param dst_list: 輸入待合成文件的列表:param outfile: 影像的輸出文件夾"""dataset_init gdal.Open(dst_list[0])# 創建待輸出的圖tiff_driver gdal.GetDriverByName(GTi…

【MySQL進階】索引使用

一、索引使用 1.驗證索引效率 tb_sku 這張表中準備了 1000w 的記錄。 我用夸克網盤分享了「1000w的模擬數據」鏈接:https://pan.quark.cn/s/15cf665202b2 這張表中id為主鍵,有主鍵索引,而其他字段是沒有建立索引的。 我們先來查詢其中的…

JS基礎之原型原型鏈

JS基礎之原型&原型鏈 原型&原型鏈構造函數創建對象prototypeprotoconstructor實例與原型原型的原型原型鏈其他constructorproto繼承 原型&原型鏈 構造函數創建對象 我們先使用構造函數創建一個對象: function Person(){ } var person new Person();…

多窗口文件管理工具Q-Dir安裝以及使用教程

軟件介紹 Q-Dir 是一款功能強大的Windows資源管理器,可以非常方便的管理你的各種文件。Q-Dir有4 個窗口,特別適用于頻繁在各個目錄間跳躍復制粘貼的情況,每個窗口都可以方便的切換目錄,以不同顏色區分不同類型的文件,…

(企業項目)微服務項目解決跨域問題:

前后端分離項目中前端出現了跨域的問題 在網關模塊配置文件中添加 配置 application.properties # 允許請求來源(老版本叫allowedOrigin) spring.cloud.gateway.globalcors.cors-configurations.[/**].allowedOriginPatterns* # 允許攜帶的頭信息 spri…

idea__SpringBoot微服務06——靜態資源(新依賴),首頁和圖標定制

靜態資源 一、靜態資源二、首頁和圖標定制————————創作不易&#xff0c;如覺不錯&#xff0c;隨手點贊&#xff0c;關注&#xff0c;收藏(*&#xffe3;︶&#xffe3;)&#xff0c;謝謝~~ 新依賴&#xff1a;jquery的 <dependency><groupId>org.webjars&…

說說設計體系、風格指南和模式庫

目錄 一、定義 二、設計體系 2.1 Design system 2.2 風格指南 2.3 Component 三、樣式庫 一、定義 設計體系&#xff08;Design system&#xff09;&#xff1a;可共享的設計語言的基礎合集&#xff0c;包含了設計價值&#xff0c;語義&#xff0c;語法和上下文。 風格…

matplotlib 默認屬性和繪圖風格

matplotlib 默認屬性 一、繪圖風格1. 繪制疊加折線圖2. Solarize_Light23. _classic_test_patch4. _mpl-gallery5. _mpl-gallery-nogrid6. bmh7. classic8. fivethirtyeight9. ggplot10. grayscale11. seaborn12. seaborn-bright13. seaborn-colorblind14. seaborn-dark15. sea…

Chart 7 內存優化

文章目錄 前言7.1 Adreno GPU OpenCL內存7.1.1 內存聲明周期7.1.2 Loacl Memory7.1.3 Constant memory(常量內存)7.1.4 Private Memory7.1.5 Global Memory7.1.5.1 Buffer Object7.1.5.2 Image Object7.1.5.3 Image object vs. buffer object7.1.5.4 Use of both Image and buf…

C語言數據結構-雙向鏈表

文章目錄 1 雙向鏈表的結構2 雙向鏈表的實現2.1 定義雙向鏈表的數據結構2.2 打印鏈表2.3 初始化鏈表2.4 銷毀鏈表2.5 尾插,頭插2.6 尾刪,頭刪2.7 根據頭次出現數據找下標2.8 定點前插入2.9 刪除pos位置2.10 定點后插入 3 完整代碼3.1 List.h3.2 Lish.c3.3 test.c 1 雙向鏈表的結…

ajax中get和post的區別,datatype返回的數據類型有哪些?web開發中數據提交的幾種方式,有什么區別。百度使用哪種方式?

在Ajax中&#xff0c;GET和POST是兩種常見的HTTP請求方法。它們有以下區別&#xff1a; GET請求&#xff1a;使用GET請求時&#xff0c;參數數據會附加在URL的末尾&#xff0c;以查詢字符串的形式發送給服務器。GET請求是冪等的&#xff0c;也就是說多次發送相同的GET請求&…

鍵盤打字盲打練習系列之矯正坐姿——4

一.歡迎來到我的酒館 盲打&#xff0c;矯正坐姿&#xff01; 目錄 一.歡迎來到我的酒館二.繼續練習二.矯正坐姿1.鍵鼠快速選購指南2.椅子快速選購指南 三.改善坐姿建議 二.繼續練習 前面的章節&#xff0c;我們重點向大家介紹了主鍵盤區指法和鍵盤鍵位。經過一個系列的教程學習…

Mybatis環境搭建

1、開發環境 IDE&#xff1a;IntelliJ IDEA 2022.2.1 (Ultimate Edition) 構建工具&#xff1a;maven 3.6.1 MySQL版本&#xff1a;MySQL 5.7 MyBatis版本&#xff1a;MyBatis 3.5.14 2、工程創建 創建一個Maven工程giser-java-mybatis-demo 基礎依賴如下&#xff1a; &…

【Python】pip命令及使用

PIP命令 下面是一個整理成表格的pip命令及使用的示例&#xff1a; 命令使用示例說明pip install <package>pip install requests安裝名為"requests"的包pip uninstall <package>pip uninstall requests卸載名為"requests"的包pip listpip li…

用友U8 Cloud 多處反序列化RCE漏洞復現

0x01 產品簡介 用友U8 Cloud是用友推出的新一代云ERP,主要聚焦成長型、創新型企業,提供企業級云ERP整體解決方案。 0x02 漏洞概述 用友U8 Cloud存在多處(TableInputOperServlet、LoginServlet 、FileTransportServlet、CacheInvokeServlet、ActionHandlerServlet、Servle…

12.9每日一題(備戰藍橋杯循環結構)

12.9每日一題&#xff08;備戰藍橋杯循環結構&#xff09; 題目 2165: 求平均年齡題目描述輸入輸出樣例輸入樣例輸出來源/分類 題解 2165: 求平均年齡題目 2166: 均值題目描述輸入輸出樣例輸入樣例輸出來源/分類 題解 2166: 均值題目 2167: 求整數的和與均值題目描述輸入輸出樣…

GB/T 43212-2023 竹炭板檢測

竹炭塑復合板是指以竹炭粉為主要原料&#xff0c;與塑料及其他助劑復配混合&#xff0c;經熔融擠出或模壓成型等工藝制成的板材。 GB/T 43212-2023 竹炭板測試&#xff1a; 測試項目 測試方法 外觀 GB/T 43212 尺寸 GB/T 19367 含水率 GB/T 17657 密度 GB/T 17657 吸…

【rabbitMQ】springboot整合rabbitMQ模擬簡單收發消息

目錄 1.創建項目和模塊 2.添加rabbitMQ依賴 3.啟動rabbitMQ服務 4.引入rabbitMQ服務端信息 5.通過單元測試模擬業務發送消息 6. 接收消息 1.創建項目和模塊 2.添加rabbitMQ依賴 <!-- rabbitmq依賴--> <dependency> <groupId>org.sp…

JavaEE 09 鎖策略

1.鎖策略 1.1 樂觀鎖與悲觀鎖 其實前三個鎖是同一種鎖,只是站在不同的角度上去進行描述,此處的樂觀與悲觀其實是指在預測的角度上看會發生鎖競爭的概率大小,概率大的則是悲觀鎖,概率小的則是樂觀鎖 樂觀鎖在加鎖的時候就會做較少的事情,加鎖的速度較快,但是消耗的cpu資源等也會…