CLOVER🍀

That was when it all began.

Open WebUIを䜿っお、OllamaをWeb UIから操䜜する

これは、なにをしたくお曞いたもの

OllamaをWeb UIで操䜜できないかなず探しおいたら、Open WebUIずいうものを芋぀けたので詊しおみるこずにしたした。

Open WebUI

Open WebUIのオフィシャルサむトはこちら。

Open WebUI

GitHubリポゞトリヌはこちら。

GitHub - open-webui/open-webui: User-friendly AI Interface (Supports Ollama, OpenAI API, ...)

ドキュメントはこちら。

🏡 Home | Open WebUI

Open WebUIは、オフラむンか぀セルフホスティングできるAIプラットフォヌムだそうです。OllamaやOpenAI互換のAPIを
LLMランナヌずしおサポヌトし、RAG甚の゚ンゞンをビルトむンしおいたり匷力なAIデプロむメント゜リュヌションでも
あるずされおいたす。

Open WebUI is an extensible, feature-rich, and user-friendly self-hosted AI platform designed to operate entirely offline. It supports various LLM runners like Ollama and OpenAI-compatible APIs, with built-in inference engine for RAG, making it a powerful AI deployment solution.

䞻な機胜はこちら。

  • 簡単なセットアップ
  • OpenAI APIずのむンテグレヌション
  • ナヌザヌおよび暩限管理
  • レスポンシブデザむン
  • PWA
  • MarkdownおよびLaTeXのサポヌト
  • モデルビルダヌOllamaのカスタムモデルの䜜成
  • ロヌカルおよびリモヌトずのRAGむンテグレヌション
  • 画像生成ずのむンテグレヌション
  • RBACロヌルベヌスの暩限制埡
  • 倚蚀語サポヌト
  • 継続的なアップデヌト

⭐ Features | Open WebUI

その他にもたくさんの機胜があるようで、䞀芧では曞けないですね 。

Features / And many more remarkable features including...

むンストヌル方法はDocker、Pythonパッケヌゞなどがありたす。

ひずたず䜿っおみたしょうか。

環境

今回の環境はこちら。

$ bin/ollama --version
Warning: could not connect to a running Ollama instance
Warning: client version is 0.5.11


$ python3 --version
Python 3.12.3


$ uv --version
uv 0.6.2

Ollamaは起動しおおきたす。

$ bin/ollama serve

ロヌカルにモデルはこれだけありたす。

$ bin/ollama list
NAME                                           ID              SIZE      MODIFIED
schroneko/gemma-2-2b-jpn-it:q8_0               fcfc848fe62a    2.8 GB    5 days ago
hf.co/elyza/Llama-3-ELYZA-JP-8B-GGUF:latest    12b66520839d    4.9 GB    5 days ago
gemma2:2b                                      8ccf136fdd52    1.6 GB    5 days ago
gemma2:9b                                      ff02c3702f32    5.4 GB    5 days ago
llama3.2:3b                                    a80c4f17acd5    2.0 GB    6 days ago

Open WebUIをむンストヌルする

Open WebUIをむンストヌルするにはDockerむメヌゞずいう遞択肢がありたすが、今回はPythonパッケヌゞずしおむンストヌル
するこずにしたす。

Open WebUI / Manual Installation

uvを䜿っおむンストヌルするこずにしたしょう。

プロゞェクトの䜜成。

$ uv init --vcs none open-webui-server
$ cd open-webui-server
$ rm main.py

むンストヌル。

$ uv add open-webui

たあたあの数のパッケヌゞが入るようです 。

むンストヌルされたパッケヌゞの䞀芧。

$ uv pip list
Package                                Version
-------------------------------------- -----------
aiocache                               0.12.3
aiofiles                               24.1.0
aiohappyeyeballs                       2.4.6
aiohttp                                3.11.11
aiosignal                              1.3.2
alembic                                1.14.0
annotated-types                        0.7.0
anthropic                              0.46.0
anyio                                  4.8.0
appdirs                                1.4.4
apscheduler                            3.10.4
argon2-cffi                            23.1.0
argon2-cffi-bindings                   21.2.0
asgiref                                3.8.1
async-timeout                          5.0.1
attrs                                  25.1.0
authlib                                1.4.1
av                                     14.1.0
azure-core                             1.32.0
azure-identity                         1.20.0
azure-storage-blob                     12.24.1
backoff                                2.2.1
bcrypt                                 4.2.0
beautifulsoup4                         4.13.3
bidict                                 0.23.1
bitarray                               3.1.0
black                                  24.8.0
blinker                                1.9.0
boto3                                  1.35.53
botocore                               1.35.99
build                                  1.2.2.post1
cachetools                             5.5.2
certifi                                2025.1.31
cffi                                   1.17.1
chardet                                5.2.0
charset-normalizer                     3.4.1
chroma-hnswlib                         0.7.6
chromadb                               0.6.2
click                                  8.1.8
colbert-ai                             0.2.21
colorclass                             2.2.2
coloredlogs                            15.0.1
compressed-rtf                         1.0.6
cryptography                           44.0.1
ctranslate2                            4.5.0
dataclasses-json                       0.6.7
datasets                               3.3.2
defusedxml                             0.7.1
deprecated                             1.2.18
dill                                   0.3.8
distro                                 1.9.0
dnspython                              2.7.0
docker                                 7.1.0
docx2txt                               0.8
duckduckgo-search                      7.3.2
durationpy                             0.9
easygui                                0.98.3
ebcdic                                 1.1.1
ecdsa                                  0.19.0
einops                                 0.8.0
emoji                                  2.14.1
et-xmlfile                             2.0.0
eval-type-backport                     0.2.2
events                                 0.5
extract-msg                            0.53.1
fake-useragent                         1.5.1
fastapi                                0.115.7
faster-whisper                         1.1.1
filelock                               3.17.0
filetype                               1.2.0
firecrawl-py                           1.12.0
flask                                  3.1.0
flatbuffers                            25.2.10
fonttools                              4.56.0
fpdf2                                  2.8.2
frozenlist                             1.5.0
fs                                     2.4.16
fsspec                                 2024.12.0
ftfy                                   6.2.3
gcp-storage-emulator                   2024.8.3
git-python                             1.0.3
gitdb                                  4.0.12
gitpython                              3.1.44
google-ai-generativelanguage           0.6.6
google-api-core                        2.24.1
google-api-python-client               2.161.0
google-auth                            2.38.0
google-auth-httplib2                   0.2.0
google-auth-oauthlib                   1.2.1
google-cloud-core                      2.4.2
google-cloud-storage                   2.19.0
google-crc32c                          1.6.0
google-generativeai                    0.7.2
google-resumable-media                 2.7.2
googleapis-common-protos               1.63.2
greenlet                               3.1.1
grpcio                                 1.67.1
grpcio-status                          1.62.3
grpcio-tools                           1.62.3
h11                                    0.14.0
h2                                     4.2.0
hpack                                  4.1.0
html5lib                               1.1
httpcore                               1.0.7
httplib2                               0.22.0
httptools                              0.6.4
httpx                                  0.28.1
httpx-sse                              0.4.0
huggingface-hub                        0.29.1
humanfriendly                          10.0
hyperframe                             6.1.0
idna                                   3.10
importlib-metadata                     8.5.0
importlib-resources                    6.5.2
iniconfig                              2.0.0
isodate                                0.7.2
itsdangerous                           2.2.0
jinja2                                 3.1.5
jiter                                  0.8.2
jmespath                               1.0.1
joblib                                 1.4.2
jsonpatch                              1.33
jsonpointer                            3.0.0
kubernetes                             32.0.1
langchain                              0.3.7
langchain-community                    0.3.7
langchain-core                         0.3.37
langchain-text-splitters               0.3.6
langdetect                             1.0.9
langfuse                               2.44.0
langsmith                              0.1.147
lark                                   1.1.9
ldap3                                  2.9.1
lxml                                   5.3.1
mako                                   1.3.9
markdown                               3.7
markdown-it-py                         3.0.0
markupsafe                             3.0.2
marshmallow                            3.26.1
mdurl                                  0.1.2
milvus-lite                            2.4.11
mmh3                                   5.1.0
monotonic                              1.6
moto                                   5.0.28
mpmath                                 1.3.0
msal                                   1.31.1
msal-extensions                        1.2.0
msoffcrypto-tool                       5.4.2
multidict                              6.1.0
multiprocess                           0.70.16
mypy-extensions                        1.0.0
nest-asyncio                           1.6.0
networkx                               3.4.2
ninja                                  1.11.1.3
nltk                                   3.9.1
numpy                                  1.26.4
nvidia-cublas-cu12                     12.1.3.1
nvidia-cuda-cupti-cu12                 12.1.105
nvidia-cuda-nvrtc-cu12                 12.1.105
nvidia-cuda-runtime-cu12               12.1.105
nvidia-cudnn-cu12                      9.1.0.70
nvidia-cufft-cu12                      11.0.2.54
nvidia-curand-cu12                     10.3.2.106
nvidia-cusolver-cu12                   11.4.5.107
nvidia-cusparse-cu12                   12.1.0.106
nvidia-nccl-cu12                       2.20.5
nvidia-nvjitlink-cu12                  12.8.61
nvidia-nvtx-cu12                       12.1.105
oauthlib                               3.2.2
olefile                                0.47
oletools                               0.60.2
onnxruntime                            1.20.1
open-webui                             0.5.16
openai                                 1.63.2
opencv-python                          4.11.0.86
opencv-python-headless                 4.11.0.86
openpyxl                               3.1.5
opensearch-py                          2.8.0
opentelemetry-api                      1.30.0
opentelemetry-exporter-otlp-proto-grpc 1.15.0
opentelemetry-instrumentation          0.51b0
opentelemetry-instrumentation-asgi     0.51b0
opentelemetry-instrumentation-fastapi  0.51b0
opentelemetry-proto                    1.15.0
opentelemetry-sdk                      1.30.0
opentelemetry-semantic-conventions     0.51b0
opentelemetry-util-http                0.51b0
orjson                                 3.10.15
overrides                              7.7.0
packaging                              23.2
pandas                                 2.2.3
passlib                                1.7.4
pathspec                               0.12.1
pcodedmp                               1.2.6
peewee                                 3.17.8
peewee-migrate                         1.12.2
pgvector                               0.3.5
pillow                                 11.1.0
platformdirs                           4.3.6
playwright                             1.49.1
pluggy                                 1.5.0
portalocker                            2.10.1
posthog                                3.15.0
primp                                  0.13.0
propcache                              0.3.0
proto-plus                             1.26.0
protobuf                               4.25.6
psutil                                 7.0.0
psycopg2-binary                        2.9.9
py-partiql-parser                      0.6.1
pyarrow                                19.0.1
pyasn1                                 0.4.8
pyasn1-modules                         0.4.1
pyclipper                              1.3.0.post6
pycparser                              2.22
pydantic                               2.10.6
pydantic-core                          2.27.2
pydantic-settings                      2.8.0
pydub                                  0.25.1
pyee                                   12.0.0
pygments                               2.19.1
pyjwt                                  2.10.1
pymdown-extensions                     10.14.2
pymilvus                               2.5.0
pymongo                                4.11.1
pymysql                                1.1.1
pypandoc                               1.13
pyparsing                              3.2.1
pypdf                                  4.3.1
pypika                                 0.48.9
pyproject-hooks                        1.2.0
pytest                                 8.3.4
pytest-docker                          3.1.2
python-dateutil                        2.9.0.post0
python-dotenv                          1.0.1
python-engineio                        4.11.2
python-iso639                          2025.2.18
python-jose                            3.4.0
python-magic                           0.4.27
python-multipart                       0.0.18
python-oxmsg                           0.0.2
python-pptx                            1.0.0
python-socketio                        5.11.3
pytube                                 15.0.0
pytz                                   2025.1
pyxlsb                                 1.0.10
pyyaml                                 6.0.2
qdrant-client                          1.12.2
rank-bm25                              0.2.2
rapidfuzz                              3.12.1
rapidocr-onnxruntime                   1.3.24
red-black-tree-mod                     1.22
redis                                  5.2.1
regex                                  2024.11.6
requests                               2.32.3
requests-oauthlib                      2.0.0
requests-toolbelt                      1.0.0
responses                              0.25.6
restrictedpython                       8.0
rich                                   13.9.4
rsa                                    4.9
rtfde                                  0.1.2
s3transfer                             0.10.4
safetensors                            0.5.2
scikit-learn                           1.6.1
scipy                                  1.15.2
sentence-transformers                  3.3.1
sentencepiece                          0.2.0
setuptools                             75.8.0
shapely                                2.0.7
shellingham                            1.5.4
simple-websocket                       1.1.0
six                                    1.17.0
smmap                                  5.0.2
sniffio                                1.3.1
soundfile                              0.13.1
soupsieve                              2.6
sqlalchemy                             2.0.32
starlette                              0.45.3
sympy                                  1.13.3
tenacity                               9.0.0
threadpoolctl                          3.5.0
tiktoken                               0.9.0
tokenizers                             0.21.0
torch                                  2.4.1
tqdm                                   4.67.1
transformers                           4.49.0
triton                                 3.0.0
typer                                  0.15.1
typing-extensions                      4.12.2
typing-inspect                         0.9.0
tzdata                                 2025.1
tzlocal                                5.3
ujson                                  5.10.0
unstructured                           0.16.17
unstructured-client                    0.30.3
uritemplate                            4.1.1
urllib3                                2.3.0
uvicorn                                0.30.6
uvloop                                 0.21.0
validators                             0.34.0
watchfiles                             1.0.4
wcwidth                                0.2.13
webencodings                           0.5.1
websocket-client                       1.8.0
websockets                             15.0
werkzeug                               3.1.3
wrapt                                  1.17.2
wsproto                                1.2.0
xlrd                                   2.0.1
xlsxwriter                             3.2.2
xmltodict                              0.14.2
xxhash                                 3.5.0
yarl                                   1.18.3
youtube-transcript-api                 0.6.3
zipp                                   3.21.0

起動。

$ uv run open-webui serve

初回はそこそこ時間がかかりたす。どうもHugging Faceからモデルをダりンロヌドしおくるようです。

2回目以降は速くなりたすが。

INFO  [open_webui.env] Embedding model set: sentence-transformers/all-MiniLM-L6-v2
WARNI [langchain_community.utils.user_agent] USER_AGENT environment variable not set, consider setting it to identify your requests.

 ██████╗ ██████╗ ███████╗███╗   ██╗    ██╗    ██╗███████╗██████╗ ██╗   ██╗██╗
██╔═══██╗██╔══██╗██╔════╝████╗  ██║    ██║    ██║██╔════╝██╔══██╗██║   ██║██║
██║   ██║██████╔╝█████╗  ██╔██╗ ██║    ██║ █╗ ██║█████╗  ██████╔╝██║   ██║██║
██║   ██║██╔═══╝ ██╔══╝  ██║╚██╗██║    ██║███╗██║██╔══╝  ██╔══██╗██║   ██║██║
╚██████╔╝██║     ███████╗██║ ╚████║    ╚███╔███╔╝███████╗██████╔╝╚██████╔╝██║
 ╚═════╝ ╚═╝     ╚══════╝╚═╝  ╚═══╝     ╚══╝╚══╝ ╚══════╝╚═════╝  ╚═════╝ ╚═╝


v0.5.16 - building the best open-source AI user interface.

https://github.com/open-webui/open-webui

Fetching 30 files: 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 30/30 [00:00<00:00, 11999.73it/s]
INFO:     Started server process [42561]
INFO:     Waiting for application startup.
INFO:     Application startup complete.
INFO:     Uvicorn running on http://0.0.0.0:8080 (Press CTRL+C to quit)
INFO:     ('127.0.0.1', 52232) - "WebSocket /ws/socket.io/?EIO=4&transport=websocket" [accepted]
INFO:     connection open

8080ポヌトでリッスンしおいるようなので、http://localhost:8080にアクセスしお芋おみたしょう。

こんなペヌゞが衚瀺されたした。

「Get started」ずいうリンクを抌すずアカりントを䜜成するこずを求められるので、䜜っおみたす。

ログむンするず、すでにモデル名が衚瀺されおいたす。

どうやら、ロヌカルのOllamaにすでに接続しおいるようです。モデルの䞀芧も芋れたすしね。

Gemma2を䜿っお、䌚話しおみたす。

するずチャット甚のペヌゞに切り替わり、䌚話ができたす。

チャットの履歎も扱えるようです。

いいですね。

このデヌタはデフォルトで./dataディレクトリヌに保存されるようなのですが 。

Environment Variable Configuration / App/Backend / Directories

実際に芋おみるず、けっこうすごいずころにありたした 。

$ tree .venv/lib/python3.12/site-packages/open_webui/data
.venv/lib/python3.12/site-packages/open_webui/data
├── cache
│   ├── audio
│   │   └── speech
│   └── image
│       └── generations
├── readme.txt
├── uploads
├── vector_db
│   └── chroma.sqlite3
└── webui.db

8 directories, 3 files

最初の案内に習っお、DATA_DIR環境倉数を䜿っお明瀺的に指定した方が良さそうです。

$ DATA_DIR=data uv run open-webui serve

🏡 Home | Open WebUI

あずはQuick Startを芋たり、機胜ごずのドキュメントを芋お慣れおいく感じでしょうか。

⏱️ Quick Start | Open WebUI

Ollamaぞの接続蚭定は、ナヌザヌの「管理者パネル」 → 「蚭定」 → 「接続」で確認できるようです。

🦙 Starting With Ollama | Open WebUI

Ollamaのモデルのダりンロヌドもできるようなので䟿利ですね。

おわりに

Open WebUIを䜿っお、OllamaをWeb UIから操䜜しおみたした。

かなり良い感じにできあがっおいおビックリしたした。機胜もいろいろあるようなので、ちょっず詊したい時などに
䜿っおみようかなず思いたす。