# Text Generation Web UI 教學
## 1. 載入模型
剛進入Text Generation WebUI的界面時,由於還沒加載模型,直接使用對話界面不會有任何反應。
* 先點選上方的 Model 切換到模型頁

會切換到以下畫面:

畫面中包含了幾個最重要的功能:
* **模型選單:**選擇一個已經下載好的模型

* **GPU 記憶體使用量:**
直接拉滿即可,GPU是獨占使用,不會跟別人搶。
下方的CPU記憶體使用量,由於是共用資源,請設定為0。

* **模型蒸餾:**
* **load-in-8-bit:** LM的記憶體需求剩一半(理論上)
* **load-in-4-bit:** LM的記憶體需求剩四分之一(理論上)

* **估算模型大小:**
LLM的參數量有大有小,GPU的記憶體也不一定能塞的下完整的模型。
即便塞得下,剩餘的記憶體空間不足會導致處理速度緩慢。
故需要在載入模型時進行『蒸餾』。
通常開源模型會將參數量寫在名稱或介紹
如:llama-7b 當中的7b指的是該模型有70億(7billion)個參數。
直接載入該模型會佔用約**10GB**的記憶體。
**load-in-8-bit**載入該模型會佔用約**7GB**的記憶體。
**load-in-4-bit**載入該模型會佔用約**4~5GB**的記憶體。
:::info
用**RTX3080**(10GB 記憶體)推薦:
**7b模型以load-in-8-bit載入。
13b模型以load-in-4-bit載入。**
更大的模型請改用RTX3090 等記憶體更大的GPU。
:::
* 調整完設定,按下Load鍵並等待右下方出現Successfilly loaded字樣即可按左上角的Chat回到對話界面進行對話。

## 2. 從huggingface下載模型
* 以網頁瀏覽器開啟網頁 https://huggingface.co/models
點選左下的Text Generation標籤,令其只顯示語言模型
並在右邊選單瀏覽並選擇模型。

* 以mircosoft/phi-2 為例:
點選進入頁面後,點擊右上的 </> Use in Transformers 按鈕

* 複製 pipeline 或 model 定義指令內,指定模型用的字串 ”mircosoft/phi-2”

* 貼到Text Generation WebUI 內 Model標籤頁的 Download model or LoRA處,並按下Download下載。

待下載完畢,即可參照[1.載入模型]來使用
## 3. 自定義角色
類似ChatGPT的GPTs 功能,可設定LLM所扮演的角色與場景。
讓LLM每次回答前先看過這些資訊,引導LLM做出符合需求的回答。
例如:將AI的開場白改為中文,引導LLM以中文回答問題。
* 到Parameters標籤頁

* 修改對話情境:
* Your name: 使用者名稱/身份
* Character's name: AI名稱/身份
* Context: 場景/背景設定
此處可以詳細描寫AI的性格,對話情境,使用者與AI角色身份的關係。
* Greeting: 開場白
* 修改完畢,按右上角的儲存鈕,並給存檔命名。

* 回到Chat標籤頁的下方
在Character gallery按一下Refresh就會出現方才新增的設定。
點選即可與該角色進行對話。

*