chatglm3部署使用

chatglm3部署使用

  • 1.部署
  • 2.使用
  • 3.接入微信
  • 4.vue前端

1.部署

1.首先去github下載chatglm3代碼。Huggingface下載模型一直失敗,所以用阿里的魔塔社區下載。

git clone https://github.com/THUDM/ChatGLM3.git
git clone https://www.modelscope.cn/ZhipuAI/chatglm3-6b.git

2.創建虛擬環境并運行

conda create -n glm3 python=3.10
conda activate glm3
pip install -r requirements.txt -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com
conda install pytorch torchvision torchaudio pytorch-cuda=12.1 -c pytorch -c nvidia#避免之后的錯誤,torch還是去官網下載自己cuda版本的(我的是12.2)

2.使用

這里我主要試試代碼解釋器Code Interpreter。
1.使用 Code Interpreter 還需要安裝 Jupyter 內核,所以

conda install ipykernel
conda install jupyter
python -m ipykernel install --name “環境名稱” --display-name "環境的顯示名稱"#新創建的python環境寫入Jupyter的kernel中
jupyter kernelspec list#查看已添加至Jupyter內核中的環境列表
jupyter kernelspec remove “環境名稱”#刪除已添加至Jupyter內核中的環境

2.定義模型文件地址

set MODEL_PATH=D:/ChatGLM3-main/model/chatglm3-6b
echo %MODEL_PATH%
set IPYKERNEL=glm3#自定義 Jupyter 內核用glm3環境配置的jupyter

3.運行官網的示例

cd D:\ChatGLM3-main\composite_demo
streamlit run main.py

4.效果
這里我踩的一個坑是沒有自定義jupyter內核用glm3環境設置的,所以一直是有代碼沒圖像。
在這里插入圖片描述

3.接入微信

修改https://github.com/zhayujie/chatgpt-on-wechat項目,模型地址換成本地的glm3,運行app文件即可,這里主要是環境的問題配了好久,之后會把環境文件導出附上。
在這里插入圖片描述

4.vue前端

利用https://github.com/LemonQu-GIT/ChatGLM-6B-Engineering項目,這里面有連接互聯網,查詢天氣和思維導圖等很多功能,這里面遇到的問題是把前端vue里的process.env.VUE_APP_API替換成"http://127.0.0.1:8000",前端是8080端口;
api用的8000端口,所以在front_end.py最后一行改為uvicorn.run(app, host="0.0.0.0", port=8000)
然后后端模型用的8001端口;所以后端工程里面的config文件里面修改:

"API_host": "http://0.0.0.0",
"model": "D:/ChatGLM3_main/model/chatglm3_6b",
"port": 8001,
"host": "http://127.0.0.1"

然后還有一個問題是requests異步訪問有問題,所以用了httpx,修改front_end.py里面的@app.get(“/api/chat”)

url = f"{get_config()['basic']['host']}:{get_config()['basic']['port']}/stream"
async with httpx.AsyncClient() as client:try:response = await client.post(url, json=payload, timeout=30)async for chunk in response.aiter_text():await asyncio.sleep(0.1)yield chunk# 處理正常響應except httpx.ReadTimeout:# 處理超時異常,可以進行重試或返回適當的錯誤消息print("Request timed out. Please try again.")
return StreamingResponse(chat(prompt), media_type="text/event-stream")

最后運行文件

npm run dev#運行前端vue
python api.py#運行后端模型的chat接口
python front_end.py#運行后端和前端連接的api接口

效果如下:
在這里插入圖片描述

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

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

相關文章

docker常見問題匯總

docker常見問題 ?問題1:啟動docker容器時,報錯Unknown runtime specified nvidia. 當我啟動一個容器時,運行以下命令: docker run --runtimenvidia 。。。。 后面一部分命令沒寫出來,此時報錯的信息如下:…

python-opencv劃痕檢測

python-opencv劃痕檢測 這次實驗,我們將對如下圖片進行劃痕檢測,其實這個比較有難度,因為清晰度太差了。 我們做法如下: (1)讀取圖像為灰度圖像,進行自適應直方圖均衡化處理,增強圖…

thingsboard3.6的mailConfigTemplateController錯誤

1、bug內容 使用3.6版本的tb代碼進行打包生成boot的jar包,在啟動的時候會報錯mailConfigTemplateController bean初始化找不到文件路徑。 Error creating bean with name mailConfigTemplateController defined in URL [jar:file:/D:/yuxinwei/AE/thingsboard/thingsboard-3…

nuxt3項目修改端口號

nuxt的默認端口號是3000 一、修改開發環境端口號 方式一:使用環境變量配置,設置(PORT 或 NUXT_PORT) # .env PORT3001 #http://localhost:3001/ NITRO_PORT3001 #http://localhost:3001/ 方式二:nuxt.config.ts里配置…

vue2.0+elementui集成file-loader之后圖標失效問題

背景 跑vue2elementUI項目時,由于前端這邊需要在本地存放xlsx模板文件,供用戶下載模板文件,所以需要在webpack構建的時候增加file-loader進行解析xlsx文件打包。 vue版本2.x element-ui 版本 2.13.x 注意 npm i -D file-loader版本號給vue項…

操作系統 day12(調度算法的評價指標)

評價指標 CPU利用率 系統吞吐量 周轉時間 帶權周轉時間 等待時間 響應時間

vue中屬性的基本用法

v-for指令的用法 v-for指令用于重復輸出當前元素。 案例:寫一個新的組件頁面:For.vue 當訪問: /for時看到它。 場景1 遍歷字符串數組輸出每一個列表項元素: data: {nav: [京東超市,京東家電,秒殺,拍賣,京東生鮮,PLUS會員] } …

【python學習】中級篇-TCP編程Socket模塊:客戶端與服務端

客戶端 創建一個基于TCP連接的Socket AF_INET指定使用IPv4協議 AF_INET6指定使用IPv6協議 # 導入socket庫: import socket# 創建一個socket: s socket.socket(socket.AF_INET, socket.SOCK_STREAM) # 建立連接: s.connect((www.sina.com.cn, 80))客戶端要主動發起TCP連接 必…

2022-1-25 機器人運動規劃方法綜述 航空學報

論文PDF abstract 隨著應用場景的日益復雜,機器人對旨在生成無碰撞路徑(軌跡)的自主運動規劃技術的需求也變得更加迫 切。雖然目前已產生了大量適應于不同場景的規劃算法,但如何妥善地對現有成果進行歸類,并分析不同…

Spark---基于Standalone模式提交任務

Standalone模式兩種提交任務方式 一、Standalone-client提交任務方式 1、提交命令 ./spark-submit --master spark://mynode1:7077 --class org.apache.spark.examples.SparkPi ../examples/jars/spark-examples_2.11-2.3.1.jar 100 或者 ./spark-submit --master spark…

給數據庫查詢結果添加一個額外的自增編號

1、在mysql數據庫可以執行的sql SELECT( i : i 1 ) num,M.* FROMuser M,( SELECT i : 0 ) AS ID GROUP BYM.ID ORDER BYM.create_time SELECT (i :i 1) 是為了生成自增的序列號字段 SELECT i : 0 是為了將i進行初始化每次查詢的序列號都會從1開始進行排序生成序列號 在…

go sync.map源碼解讀

此源碼理解僅為個人理解,如有錯誤歡迎指出 sync.map的數據結構主要包含四個字段 一個互斥鎖,readonly,dirty,和miss 從讀寫兩個方面來講這幾個變量 readonly其實就是有bool值的dirty,底層結構都是map readonly的讀更新不會上鎖&#xff0c…

在springboot中實現WebSocket協議通信

前面介紹了使用netty實現websocket通信,有些時候,如果我們的服務并不復雜或者連接數并不高,單獨搭建一個websocket服務端有些浪費資源,這時候我們就可以在web服務內提供簡單的websocket連接支持。其實springboot已經支持了websock…

20230511 Windows Ubuntu vscode remote-ssh 連接配置

參考 : VSCode SSH 連接遠程ubuntu Linux 主機 VSCode通過Remote SSH擴展連接到內網Ubuntu主機 Ubuntu 安裝 sudo apt-get install openssh-server vscode: 安裝remote-ssh 插件 連接到服務器IP 免密登錄的公鑰密鑰傳遞用filezillaUbuntu 和 Windows 文件互傳 …

PMP對項目工程師有用嗎?

一、什么是項目工程師? 項目工程師是指在各個領域負責技術操作、設計、管理以及評估能力的人員。他們通常擔當項目的實施和執行角色,在開發或控制類項目中發揮重要作用。有時,項目工程師的稱號還可以用來表示在某個領域取得專業資格的人員。…

深入理解路由協議:從概念到實踐

路由技術是Internet得以持續運轉的關鍵所在,路由是極其有趣而又復雜的課題,永遠的話題。 SO:這是一個解析路由協議的基礎文章。 目錄 前言路由的概念路由協議的分類數據包在網絡中的路由過程理解路由表的結構路由器關鍵功能解析 前言 在互聯…

PTA-字符串的連接

本題要求實現一個函數&#xff0c;將兩個字符串連接起來。 函數接口定義&#xff1a; char *str_cat( char *s, char *t ); 函數str_cat應將字符串t復制到字符串s的末端&#xff0c;并且返回字符串s的首地址。 裁判測試程序樣例&#xff1a; #include <stdio.h> #inc…

SQL Server數據庫自動備份方法

要編寫一個自動備份 SQL Server 數據庫的腳本&#xff0c;可以使用 SQL Server Management Studio (SSMS) 或者 Transact-SQL (T-SQL) 腳本。以下是一個簡單的 T-SQL 腳本示例&#xff0c;該腳本將數據庫備份到指定的文件路徑&#xff1a; -- 設置要備份的數據庫名稱 DECLARE D…

求解Beamforming-SOCP(CVX求解)

時間&#xff1a;2023年11月23日14:00:16&#xff1a; 直接上代碼&#xff08;辛苦兩天才改出來的&#xff09; clear all; K 4; %user number N4; %base station number var1e-9; H []; %initialize H matrix for i1:Kh 1/sqrt(2*K)*mvnrnd(zeros(N,1),eye(N),1)1i/sqrt(2*…

【C++】泛型編程 ? ( 類模板 static 關鍵字 | 類模板 static 靜態成員 | 類模板使用流程 )

文章目錄 一、類模板使用流程1、類模板 定義流程2、類模板 使用3、類模板 函數 外部實現 二、類模板 static 關鍵字1、類模板 static 靜態成員2、類模板 static 關鍵字 用法3、完整代碼示例 將 類模板 函數聲明 與 函數實現 分開進行編碼 , 有 三種 方式 : 類模板 的 函數聲明…