---
# System prepended metadata

title: 建構本地端執行的AI(3)
tags: [LLM]

---


## WebUI與Ollama軟體個別安裝
### 安裝必要軟體
1. 安裝windows 平台 [Ollama](https://ollama.com/) 軟體
2. 安裝Windos 平台的[Docker desktop](https://desktop.docker.com/win/main/amd64/Docker%20Desktop%20Installer.exe?utm_source=docker&utm_medium=webreferral&utm_campaign=docs-driven-download-win-amd64&_gl=1*xd1ykg*_ga*MTQ1MjUyMDYwNy4xNzQ3MDQ3Njgx*_ga_XJWPQMJYHQ*czE3NDcxMzkwMTMkbzIkZzEkdDE3NDcxMzkwNDckajI2JGwwJGgw) and [docker-compose](https://docs.docker.com/compose/install/standalone/)軟體
### 在電腦上啟用ollama
### 至[ollama網站搜尋](https://ollama.com/search)並下載語言模型
#### 以在ollama搜尋llama3.1:8b模型為例 
![image](https://hackmd.io/_uploads/Bk6k0qSZex.png)
### 在 ollama 上執行以下指令
```
ollama run llama3.1:8b
```
### ollama上的部屬webui操作介面，提供給語言模型的web對話介面
### 在windows執行以下命令
```
docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main
```
### 開啟以下網址，確認WebUI載入成功

```
http://localhost:3000
```
### 首次連線需要建立的管理員帳號，接下透過WebUI跟語言模型提問。
![image](https://hackmd.io/_uploads/rJuJbjHWxg.png)

## [Option] WebUI與Ollma一起部屬在docker(windows 不須安裝ollama軟體)
### 在windows執行以下命令(docker事先安裝)
```
docker run -d -p 3000:8080 --gpus=all -v ollama:/root/.ollama -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:ollama
```
---
### :question: 至此，已經完成本地的語言模型安裝部屬了，還能做什麼?
---
## 加速語言模型的執行速度
### 確認 GPU CUDA driver 資訊
#### CUDA Version: 12.7
#### VRAM 資訊: 4096MiB
```
C:\Users\john>nvidia-smi
Sat May 17 10:47:47 2025
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 566.24                 Driver Version: 566.24         CUDA Version: 12.7     |
|-----------------------------------------+------------------------+----------------------+
| GPU  Name                  Driver-Model | Bus-Id          Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf          Pwr:Usage/Cap |           Memory-Usage | GPU-Util  Compute M. |
|                                         |                        |               MIG M. |
|=========================================+========================+======================|
|   0  NVIDIA T550 Laptop GPU       WDDM  |   00000000:01:00.0 Off |                  N/A |
| N/A   61C    P8              4W /   20W |    2145MiB /   4096MiB |      0%      Default |
|                                         |                        |                  N/A |
+-----------------------------------------+------------------------+----------------------+

+-----------------------------------------------------------------------------------------+
| Processes:                                                                              |
|  GPU   GI   CI        PID   Type   Process name                              GPU Memory |
|        ID   ID                                                               Usage      |
|=========================================================================================|
+-----------------------------------------------------------------------------------------+
```
### 至Nvidia網站安裝下載[CUDA]( https://developer.nvidia.com/cuda-12-6-3-download-archive?target_os=Windows&target_arch=x86_64&target_version=11&target_type=exe_local)，需小於driver 版本(如: driver 顯示版本:12.7，則安裝12.6)
![image](https://hackmd.io/_uploads/Bys0KdBWel.png)

### 觀察到 llama3.1:8b 部屬在4G VRAM上的效能 - 49%/51% CPU/GPU
![image](https://hackmd.io/_uploads/SkAtCFrWlx.png)
#### 先有個個初步的概念，8b語言模型在4G VRAM約為50% GPU 使用率，評估本地端設備適合部屬哪一種的語言模型。


## [Option] WebUI與Ollma同時部屬在docker上，並支援GPU加速:
### 在windows執行以下命令
```
docker run -d -p 3000:8080 --gpus=all -v ollama:/root/.ollama -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:ollama
```

---
### :question: 至此，已經整合本地端的顯示卡資源至Ollama平台，還能做什麼?
---
## 在ollama 部屬hugging face上語言模型
### 先至[hugging face](https://huggingface.co/)，建立帳號/API後，搜尋語言模型"Llama-3.1-TAIDE-LX-8B-Chat-GGUF" 為例

![image](https://hackmd.io/_uploads/H103ulL-eg.png)
### 在 ollama 上執行以下指令
```
ollama run hf.co/nctu6/Llama-3.1-TAIDE-LX-8B-Chat-GGUF
```
### 模型對話內容如下
![image](https://hackmd.io/_uploads/BJuU7lIZgx.png)
### 模型效能顯示如下
![image](https://hackmd.io/_uploads/BJePMeL-xl.png)
---
### :question:還能做什麼?
---
## 在ollama 部屬微調(funeturing)語言模型(GGUF格式)
### 準備模型訓練資料集(Dataset)
[TAIDE](https://taide.tw/index/training-data?type=0&length=48)
[LLaMA-Factory](https://github.com/hiyouga/LLaMA-Factory/tree/main/data)
### 模型微調作法
[LLaMA Factory](https://colab.research.google.com/drive/1eRTPn37ltBbYsISy9Aw2NuI2Aq5CQrD9?usp=sharing)
[unsloth](https://github.com/unslothai/unsloth)

### 在ollama 載入微調模型
#### TBD


