Ollama + Open WebUI ã§ããŒã«ã«LLMãæè»œã«æ¥œãã
ããŒã«ã«LLMãæè»œã«æ¥œãã
ããŒã«ã«LLMãæè»œã«åãããæ¹æ³ãç¥ã£ãã®ã§ç޹ä»ããŸããä»ãŸã§ã¯LLMãPCç°å¢ïŒGPUã®æç¡ïŒã«åãããŠDockerç°å¢ãæ§ç¯ããŠåãããŠããŸããã
ããããOllamaãšOpen WebUIãšãããœãããçµã¿åãããããšã§ãChatGPTã®ããã«æè»œã«ããŒã«ã«ã§LLMãåããããšãã§ããŸããåèã«ãããµã€ããªã©ã¯æ¬èšäºã®æ«å°Ÿã§ç޹ä»ããŸããç¹ã«ããããŒããã®åç»ã¯ãã£ããã«ãªããŸããïŒæè¬ã§ãïŒã
åããæ¹æ³ãšããŠä»¥äž2ã€ã玹ä»ããŸãã
- Ollamaåäœã§åããæ¹æ³ïŒåå¿è åãïŒ
- Ollama + Open WebUIã§GUIä»ãã§åããæ¹æ³ïŒDockerãåãã人åãïŒ
åå¿è ã§ãšããããLLMãåããã®ã«ãã£ã¬ã³ãžããããšãã人ã¯ã1ã€ç®ã®Ollamaåäœã§åããæ¹æ³ã«ãã©ã€ããã®ãããããã§ãã
Dockerãšãæ®æ®µãã䜿ã£ãŠãããšãã人ã¯ã1ããšã°ããŠ2ããã¯ãããŠãOKã§ãã
OSã¯Mac/Windows/Linuxã©ãã§ãOKã§ããç¹ã«Apple Siliconã®Macã ãšGPUã¡ã¢ãªãšãæ°ã«ããªããŠããã®ã§æ¥œã§ãã
Ollamaåäœã§åããæ¹æ³
以äžã®ãµã€ãã«è¡ã£ãŠã¢ããªãèœãšããŠããµã€ãã®èª¬æã©ããã«å®è¡ããã°OKã§ãã
ç°¡åã§ãããMacã ãšãã»ããšæç€ºéãã«ã³ãã³ãå®è¡ããã ãã§ãã
Linuxã ãšä»¥äžã³ãã³ãã§ã»ããã¢ããã§ããŸããã
$ curl -fsSL https://ollama.com/install.sh | sh
Windowsã§ã¯è©ŠããŠããŸããïŒãã¿ãŸããïŒã
ããã¥ã¡ã³ãã¯GitHubãåç §ããŸãããã
Ollama + Open WebUIã§GUIä»ãã§åããæ¹æ³
OllamaãOpen WebUIãDockerã§åããã®ãæè»œã§ããã®ã§ãåäœã§Ollamaãå ¥ã£ãŠãããäžæŠã¢ã³ã€ã³ã¹ããŒã«ããŠãã ãããLinuxã§ã®ã¢ã³ã€ã³ã¹ããŒã«æ¹æ³ã¯ãã¡ãã§ãã
ç¶ããŠDockerãã»ããã¢ããããŸããDockerã®ã»ããã¢ãããåºæ¬çãªäœ¿ãæ¹ã¯ä»¥äžã®èšäºãåèã«ããŠãã ããã
åŸã¯ã以äžã³ãã³ãã§Dockerã§OllamaãšOpen WebUIãããŠã³ããŒãããŠèµ·åããŸããããéå»ã«Ollamaãèµ·åããŠããããæåã«ä»¥äžã³ãã³ãã§ããã§ã«åããŠããã³ã³ãããåé€ããŠãããšè¯ãã§ãã
$ docker stop $(docker ps -q)
$ docker rm $(docker ps -q -a)
Ollama Docker run
$ docker run -d -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama
NVIDIAã®GPUã䜿ãå Žåã¯ã以äžã®éã--gpus=allãªãã·ã§ã³ã远å ããŠãã ããã
$ docker run -d --gpus=all -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama
Open WebUI Docker run
$ 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
èµ·åãããã以äžã¢ãã¬ã¹ã«ã¢ã¯ã»ã¹ããŸãã
http://localhost:3000/
æåã以äžã®ãããªç»é¢ã衚瀺ãããã®ã§ãé©åœãªãŠãŒã¶ãŒåãšã¡ãŒã«ã¢ãã¬ã¹ãå
¥åããŸããããããã¯ãããŸã§ããŒã«ã«ã§ã®ç»é²åŠçã§ãµãŒãã«ã¯éä¿¡ãããŸããã

以äžç»é²åŸã®ãã°ã€ã³ç»é¢ã§ããæChatAIã¢ããªã«ã ãã¶äŒŒãŠããŸããã

Ollamaã§ããŠã³ããŒãããã¢ãã«ãOpen WebUIããéžæã§ããããã«ãªããŸãã®ã§ãéžæããŠããŒã«ã«LLMãæ¥œãã¿ãŸãããã

å¥ã®PCãããã°ã€ã³ããå Žåã¯localhostãIPã¢ãã¬ã¹ã«ãããããŠã¢ã¯ã»ã¹ããã°OKã§ãã
以äžåäœäŸã§ããLinux OSã§NVIDIA RTX3060ã§åãããŠããŸãã35B(ãã©ã¡ãŒã¿æ°350åïŒã®Command Rãªã®ã§é ãã§ãããã¡ãããšããŒã«ã«ã§åããŠããŸãã
Ollamaã®Dockerã§ã®æäœ
DockerãããŸãç¥ããªã人åãã«ãDockerã§ã®Ollamaæäœã®æ¹æ³ã§ãã
以äžã®ããã«docker exec -itãã€ããŠãOllamaã®ã³ãã³ããå®è¡ãããšãOllamaãèµ·åããŠãã¿ãŒããã«ã§ãã£ãããã§ããŸãã
$ docker exec -it ollama ollama run llama2
åã«ã¢ãã«ãããŠã³ããŒããããå Žåã¯ã以äžã®ããã«ollama pullããŸãããã
$ docker exec ollama ollama pull llama3
$ docker exec ollama ollama pull phi3
$ docker exec ollama ollama pull phi4
$ docker exec ollama ollama pull mistral
$ docker exec ollama ollama pull gemma:2b
$ docker exec ollama ollama pull gemma:7b
$ docker exec ollama ollama pull command-r
$ docker exec ollama ollama pull gemma2:2b
$ docker exec ollama ollama pull deepseek-r1:14b
ããŠã³ããŒãå¯èœãªã¢ãã«ã¯ä»¥äžã«ãªããã§ããŸãã
Ollamaãåèµ·åãããšãã¯ä»¥äžã³ãã³ããå®è¡ããã°OKã§ãã
$ docker restart ollama
Tanuki-8Bãåãã
Tanuki-8Bãšããã¢ãã«ã話é¡ã§ãïŒãªããç§ã¯Tanuki-8Bã®éçºã«ã¯çŽæ¥åå ããŠããŸããããããŸã§äžè¬ãŠãŒã¶ãŒãšããŠè©ŠããŠããŸãã®ã§ãäºæ¿ãã ããïŒã
äžèªãããç¥ã¢ãã«ã倿ããŠãã ãããŸããã
以äžã³ãã³ãã§ããŠã³ããŒãã§ããŸãã
$ docker exec ollama ollama pull 7shi/tanuki-dpo-v1.0:8b-q6_K
çéã§åããŸãã
ãªããOllamaã§ã®åäœã¯ãå ¬åŒã®æšå¥šã®æ¹æ³ã§ã¯ãªããããã®ç¹ã¯æ³šæãã ããïŒæ§èœãèœã¡ãå¯èœæ§ããããšã®ããšã§ãïŒã
Open WebUIã§ãªããOllamaåäœã§åããå Žåã¯ãç¶ããŠä»¥äžã³ãã³ããå®è¡ããŠãã ããã
$ docker exec -it ollama ollama run 7shi/tanuki-dpo-v1.0:8b-q6_K
以äžã®ããã«ã¿ãŒããã«äžã§å¯Ÿè©±ãã§ããŸãã
=> % docker exec -it ollama ollama run 7shi/tanuki-dpo-v1.0:8b-q6_K
>>> ããã«ã¡ã¯
ããã«ã¡ã¯ïŒä»æ¥ã¯ã©ã®ãããªã
Tanuki-8Bã¯æäœ7.2GBã®ã¡ã¢ãªãå¿ èŠã§ããïŒäœ¿çšããGPUã¡ã¢ãªã®èšç®æ¹æ³åç §ïŒã
以äžã®ç°å¢ã§åããŸãã
- LinuxïŒã¡ã¢ãª:32GB, GPU:NVIDIA RTX3060)
- MacBook Pro (Apple Silicon M2, ã¡ã¢ãªïŒ16GB)
- MacBook Air (Apple Silicon M1, ã¡ã¢ãªïŒ8GB)
Raspberry Piã§ã¯åããŸããã§ããã
Qwen3ãåãã
$ docker exec -it ollama ollama run qwen3:4b
ããã©ã«ãã§thinkingã¢ãã«ãªã®ã§ãèããããªããšãã¯ããã³ããã«/no_thinkãã€ããŸãã
æ¥æ¬ã§äžçªé«ãå±±ã¯ïŒ /no_think
<think>
</think>
æ¥æ¬ã§äžçªé«ã山㯠**å¯å£«å±±ïŒãµãããïŒ** ã§ãã
å¯å£«å±±ã¯ãæ¥æ¬ã®äžå€®éšã«äœçœ®ããæšé« **3,776ã¡ãŒãã«** ãããŸããããã¯æ¥æ¬
ã§æãé«ãå±±ã§ãç«å±±ã§ãããšãšãã«ãæ¥æ¬ã®è±¡åŸŽçãªå±±ãšããŠãç¥ãããŠããŸãã
å¯å£«å±±ã¯ãæ¥æ¬æµ·åŽã®å±±ã
ã®äžã§ãç¹ã«æåã§ãç»å±±ã芳å
ã®ããå€ãã®äººã
ã蚪ã
ãŸãã
åèïŒ
gguf圢åŒã®ã¢ãã«ãåãã
èªåã§å€æãããããããã§ããŠã³ããŒãããgguf圢åŒã®ã¢ãã«ãã¡ã€ã«ãåããæ¹æ³ã§ãã
äŸãã°sample.ggufãšããã¢ãã«ãã¡ã€ã«ããã£ããšãã®äŸãæžããŸãã
sample.ggufãšåãå ŽæïŒãã£ã¬ã¯ããªïŒã«Modelfileãšããããã¹ããã¡ã€ã«ãäœæããŸããäžèº«ã¯æäœé以äžãèšèŒãã ãããä»ã«ãè²ã
ãªãã·ã§ã³ãèšèŒã§ããŸãããæäœéåããã ããªããã¡ã€ã«åã ãã§OKã§ãã
FROM ./sample.gguf
ç¶ããŠã以äžã§Ollamaãèµ·åããŸãã-v $PWD:/ollamaãªãã·ã§ã³ã§ä»ãããã£ã¬ã¯ããªãã³ã³ããå
ã®/ollamaãã£ã¬ã¯ããªã«ããŠã³ãããŠããŸãã
$ docker run -d -v $PWD:/ollama -p 11434:11434 --name ollama ollama/ollama
æ£ããã¢ãã«ãã¡ã€ã«ã眮ãããŠããã確èªããŸãã以äžã³ãã³ãã§ã³ã³ããã«ãã°ã€ã³ããŸãã
$ docker exec -it ollama /bin/bash
ã³ã³ããå
ã§ãã¡ã€ã«ã確èªããŸããModelfileãšsample.ggufã/ollamaå
ã«ããã°OKã§ãã
root@xxx:/# cd /ollama
root@xxx:/ollama# ls
Modelfile sample.gguf
ã³ã³ããããåºãŠã以äžã³ãã³ããå®è¡ããŠãOllamaã§æ°ããã¢ãã«ã䜿ããããã«ããŸãã
$ docker exec ollama ollama create test -f /ollama/Modelfile
ãšã©ãŒãã§ãæåŸã«successãšè¡šç€ºããããOKã§ãã
ã¢ãã«ã远å ããããã¯ã以äžã³ãã³ãå®è¡ããããšã§ç¢ºèªã§ããŸãã远å ããtestã远å ãããŠãããOKã§ãã
$ docker exec ollama ollama list
以äžã³ãã³ããå®è¡ãããšãã¢ãã«ãåããããšãã§ããŸãã
$ docker exec -it ollama ollama run test
ã¢ãã«ãåé€ãããšãã¯ã以äžã³ãã³ããå®è¡ããŸãããã
$ docker exec ollama ollama rm test
Raspberry PiïŒã©ãºãã€ïŒã§åãã
ã©ãºãã€ã§ãåããããã§ãããŸã 詊ããŠãªãã®ã§ãã®ãã¡ã«ã
åããŸããã以äžèšäºåç
§ãã ããã
䜿çšããGPUã¡ã¢ãªã®èšç®æ¹æ³

Pythonã§åãã
Pythonã§ãOllamaã䜿ãããšãã§ããŸãã以äžå ¬åŒã©ã€ãã©ãªã䜿çšããŸãã
以äžåèèšäºã§ãã
ãŸãšã
ããŒã«ã«ã§LLMãæè»œã«åããæ¹æ³ã玹ä»ããŸãããããŒã«ã«ã§AIãšããã°NVIDIAäžæã ã£ãã®ã§ãããåããã ããªãMacã®æ¹ãæè»œã«å€§ããªãã©ã¡ãŒã¿ã®ã¢ãã«ãåããããšãã£ãé転çŸè±¡ããã€ã®éã«ããããŠãŠé¢çœãã§ããã
è²ã ãªLLMãã©ãã©ãåºãŠããŠæ¥œããã§ããã
åèãªã³ã¯
é¢é£èšäº
倿Žå±¥æŽ
- 2025/05/01 Qwen3ã«ã€ããŠè¿œèš
- 2024/09/01 Tanuki-8Bã«ã€ããŠè¿œèš
- 2024/08/20 䜿çšããGPUã¡ã¢ãªã®èšç®æ¹æ³ã远èš
- 2024/05/01 ã©ãºãã€ã§ã®åããæ¹ã®ãªã³ã¯ã远èš
Discussion
ã¡ãã£ãšãã Tips ã§ãããOpen WebUI Docker run ã®éã«ã
WEBUI_AUTHãšããç°å¢å€æ°ã False ã«ããŠããããšã§ãæåã®ãŠãŒã¶ãŒæ°èŠç»é²ç»é¢ãã¹ãããã§ããããã«ãªããŸãããç¥ããªãã£ãã§ãïŒããããšãããããŸãã