====== Ollama + Open-WebUI ======
* 安裝環境 VM 規格 :
* vCPU : 8 ([host] i7-11700 支援 avx2)
* RAM : 8G
* SSD : 64G
* OS : Alpine 3.19 + docker compose
===== 使用 docker compose 快速安裝測試 =====
* 編輯 docker-compose.yml
services:
ollama:
image: ollama/ollama:latest
ports:
- 11434:11434
volumes:
- .:/code
- ./ollama/ollama:/root/.ollama
container_name: ollama
environment:
- OLLAMA_NUM_PARALLEL=4
- OLLAMA_MAX_LOADED_MODELS=4
pull_policy: always
tty: true
restart: always
networks:
- ollama-docker
#deploy:
# resources:
# reservations:
# devices:
# - driver: nvidia
# count: 1
# capabilities: [gpu]
ollama-webui:
image: ghcr.io/open-webui/open-webui:main
container_name: ollama-webui
volumes:
- ./ollama/ollama-webui:/app/backend/data
depends_on:
- ollama
ports:
- 8080:8080
environment:
- '/ollama/api=http://ollama:11434/api'
extra_hosts:
- host.docker.internal:host-gateway
restart: unless-stopped
networks:
- ollama-docker
pipelines:
image: ghcr.io/open-webui/pipelines:main
container_name: pipelines
ports:
- "9099:9099"
volumes:
- ./ollama/pipelines:/app/pipelines
extra_hosts:
- "host.docker.internal:host-gateway"
restart: always
networks:
- ollama-docker
networks:
ollama-docker:
external: false
* 啟動 docker compose
docker compose up -d
* Open-WebUI 網址 - http://Server-IP:8080
* Ollama API 網址 - http://Server-IP:11434
==== Open WebUI 設定 pipeline 使用雲端 LLM API ===
* 採用 pipeline 機制 - https://docs.openwebui.com/pipelines/pipes
- 設定 **連線** 新增 **http://host.docker.internal:9099** API Key: **0p3n-w3bu!** ++ 看畫面| \\ {{:tech:螢幕擷取畫面_2024-11-13_070742.png|}}++
=== Anthropic API ===
- **管線(pipeline)** 從 ++GitHub URL 安裝| \\ Repo - https://github.com/open-webui/pipelines/tree/main/examples/pipelines \\ https://raw.githubusercontent.com/open-webui/pipelines/refs/heads/main/examples/pipelines/providers/anthropic_manifold_pipeline.py \\ {{:tech:螢幕擷取畫面_2024-11-13_071123.png|}}++
- ++下拉模型就可以選到 anthropic/claude 多個模型| \\ {{:tech:螢幕擷取畫面_2024-11-13_071537.png|}}++
- ++將不想使用的模型隱藏| \\ {{:tech:螢幕擷取畫面_2024-11-15_144257.png|}}++
=== Gemini API ===
- **管線(pipeline)** 從 ++GitHub URL 安裝| \\ Repo - https://github.com/open-webui/pipelines/tree/main/examples/pipelines \\ https://raw.githubusercontent.com/open-webui/pipelines/refs/heads/main/examples/pipelines/providers/google_manifold_pipeline.py++
==== Model =====
* [[https://ollama.com/ycchen/breeze-7b-instruct-v1_0|ycchen/breeze-7b-instruct-v1_0]]
* [[https://ollama.com/library/llama3|llama3]]
* [[https://ollama.com/library/codestral|codestral]]
* 下載語法 Exp. ycchen/breeze-7b-instruct-v1_0
docker exec ollama ollama pull ycchen/breeze-7b-instruct-v1_0
==== 評估安裝環境運行 Model 的效能 =====
* Exp. phi3
pve-ollama-221:~# docker exec ollama ollama list
NAME ID SIZE MODIFIED
phi3:14b 1e67dff39209 7.9 GB 5 days ago
codestral:latest fcc0019dcee9 12 GB 5 days ago
yabi/breeze-7b-32k-instruct-v1_0_q8_0:latest ccc26fb14a68 8.0 GB 5 days ago
phi3:latest 64c1188f2485 2.4 GB 5 days ago
pve-ollama-221:~# docker exec -it ollama ollama run phi3 --verbose
>>> hello
Hello! How can I assist you today? Whether it's answering a question, providing information, or helping with a task, feel free to ask.
total duration: 3.119956759s
load duration: 905.796µs
prompt eval count: 5 token(s)
prompt eval duration: 101.53ms
prompt eval rate: 49.25 tokens/s
eval count: 32 token(s)
eval duration: 2.889224s
eval rate: 11.08 tokens/s
===== VM 內直接安裝與測試 Ollama =====
* 安裝程序
curl -fsSL https://ollama.com/install.sh | sh
* ++看安裝紀錄|
iiidevops@pve-ollama:~$ curl -fsSL https://ollama.com/install.sh | sh
>>> Downloading ollama...
######################################################################## 100.0%##O#- #
>>> Installing ollama to /usr/local/bin...
[sudo] password for iiidevops:
>>> Creating ollama user...
>>> Adding ollama user to render group...
>>> Adding ollama user to video group...
>>> Adding current user to ollama group...
>>> Creating ollama systemd service...
>>> Enabling and starting ollama service...
Created symlink /etc/systemd/system/default.target.wants/ollama.service → /etc/systemd/system/ollama.service.
>>> The Ollama API is now available at 127.0.0.1:11434.
>>> Install complete. Run "ollama" from the command line.
WARNING: No NVIDIA/AMD GPU detected. Ollama will run in CPU-only mode.
++
* 下載模型 Exp. llama3
ollama pull llama3
* ++看執行紀錄|
iiidevops@pve-ollama:~$ ollama pull llama3
pulling manifest
pulling 00e1317cbf74... 100% ▕█████████████████████████████████████████████████████████████████████████████████████████████▏ 4.7 GB
pulling 4fa551d4f938... 100% ▕█████████████████████████████████████████████████████████████████████████████████████████████▏ 12 KB
pulling 8ab4849b038c... 100% ▕█████████████████████████████████████████████████████████████████████████████████████████████▏ 254 B
pulling 577073ffcc6c... 100% ▕█████████████████████████████████████████████████████████████████████████████████████████████▏ 110 B
pulling ad1518640c43... 100% ▕█████████████████████████████████████████████████████████████████████████████████████████████▏ 483 B
verifying sha256 digest
writing manifest
removing any unused layers
success
++
* 開始測試
ollama run llama3
* ++看執行紀錄|
iiidevops@pve-ollama:~$ ollama run llama3
>>> 以下對 CIO 說明為何需要DevSecOps管理平台? 請優化以下的重點項目, 並以台灣繁體中文回覆
...
... 資安威脅升級,軟體安全已成資訊系統發展關鍵
... 落實內部與委外開發管理,並兼顧品質、安全與效率
... 讓所有專案程式碼集中、開發資源共享、降低重複投資
... 解決軟體開發品質、程式安全、維護管理的挑戰
...
Here's an optimized version of the key points in traditional Taiwanese Chinese:
**為何需要DevSecOps管理平台?**
1. **資安威脅升級**:隨著資訊系統發展,軟體安全已成關鍵問題。DevSecOps管理平台能夠幫助您實現軟體安全,防止不良程式碼的出現。
2. **落實內部與委外開發管理**:DevSecOps讓您能夠集中管理所有專案程式碼,並開發資源共享,降低重複投資。這樣,您可以更好地控制您的軟體開發過程。
3. **品質、安全與效率**:DevSecOps管理平台能夠幫助您實現軟體開發的品質、安全和效率。讓您能夠更快速、更安全地開發軟體,降低維護成本。
4. **解決軟體開發挑戰**:DevSecOps能夠幫助您解決軟體開發中的挑戰,例如程式碼品質、安全問題和維護管理等。這樣,您可以更好地應對軟體開發的挑戰。
總之,DevSecOps管理平台能夠幫助您實現軟體安全,控制軟體開發過程,提高軟體開發的品質、安全和效率,同時解決軟體開發中的挑戰。
>>> Send a message (/? for help)
++
===== 參考網址 =====
* https://ollama.com/
* https://github.com/ollama/ollama/blob/main/docs/faq.md
* https://github.com/ollama/ollama/blob/main/docs/api.md
* https://github.com/open-webui/open-webui
{{tag>genai llm}}