AI文字對話工具 Text generation web UI for Windows

近期在Windows測試本地運行AI文字生成工具,
其中最簡單的解決方案是透過Text generation web UI運行gguf文字模型,
這裡整理安裝過程中需要排除的問題。


Text generation web UI for Windows示範

在Windows運行Text generation web UI之前,需要準備以下套件:
  1. vs_BuildTools.exe程序
    • 下載最新版執行檔
    • 勾選"使用C++的桌面開發"進行安裝,需要花點時間下載。
  2. 中文語言模型
    • 這裡建議選用gguf格式的模型
    • 例如Taiwan-LLM-7B-v2.0.1-chat-GGUF模型,有不同的精度,品質跟性能取捨可選Q4_K_M.gguf或以上的量化檔案,檔案越大需要的RAM(CPU)、VRAM(GPU)越龐大。
  3. (選用)Nginx exe套件
    • 測試
    • 下載Windows exe壓縮包
    • 解壓縮後打開\conf\nginx.conf
    • 參考底下的"nginx.conf參考內容"修改到conf檔案,讓127.0.0.1:7680轉發到localhost:8000,保存後開啟nginx.exe即可轉發到其他port。
  4. 開始安裝Text generation web UI
    • 下載Text generation web UI壓縮檔
    • 解壓縮後執行"start_windows.bat",這裡會需要花點時間
    • 打開\oobabooga_windows\text-generation-webui\models目錄
    • 將第2步驟下載的中文語言模型放入models目錄
    • 開啟 http://127.0.0.1:7860 或 http://localhost:8000
    • 點選Model標籤頁,下拉選取放入的文字模型
    • 點選Chat標籤頁,開始測試AI文字問答


nginx.conf參考內容

#user  nobody;
worker_processes  1;
#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;
#pid        logs/nginx.pid;
events {
    worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';
    #access_log  logs/access.log  main;
    sendfile        on;
    keepalive_timeout  65;
    server {
        listen 8000; 
        server_name localhost;
        location / {
            proxy_pass http://127.0.0.1:7860;
            proxy_http_version 1.1;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection "Upgrade";
            proxy_set_header Host $host;
        }
    }
}

需要說明一下listen 8000; 表示要轉發的目標port為8000,
同時轉發http跟ws對象。

Text generation web UI 配置預設模型

請找到"CMD_FLAGS.txt",寫入一行內容如下:

--model 模型名稱

假設預設模型是 LLM-7B-v2.0.1-chat-Q4_K_M.gguf,則輸入

--model LLM-7B-v2.0.1-chat-Q4_K_M.gguf

儲存CMD_FLAGS.txt檔案即可。

Text generation web UI 提示Error

點選Model標籤頁,點選Unload卸載模型


點選Session標籤頁,點選"Apply flags/extensions and restart"重啟UI


此時Error錯誤消失可繼續使用Text generation web UI

自行透過模型生成gguf檔案

如果不打算使用現成的GGUF檔案,也可以參考這篇文章
可以選用更熱門的中文模型,例如:

Chinese-LLaMA-Alpaca-2

https://github.com/ymcui/Chinese-LLaMA-Alpaca-2

透過llama.cpp轉換成16位gguf,再./quantize量化成4位gguf,可以得到類似前面第2步驟取得的Q4_K_M gguf檔案,一樣匯入到\oobabooga_windows\text-generation-webui\models目錄即可使用。

留言

這個網誌中的熱門文章

紅米手機MIUI設置SD卡為延伸儲存空間