## 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