Windowsで５ステップでローカル生成AIチャット動かしてみた（ｎ番煎じ）

# ollama＋Open WebUIで簡単、ローカルLLMブラウザ会話

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3562068/393e7ca8-806f-4280-bcc1-599f1327d436.png)

---

情報は新規性のない、2025年6月時点でのやってみた系記事です。
極めて簡単に、話題のchatGPTやGemini、CopilotのようなチャットAIが、
お手元のパソコンで動きますよ、試してみよう、という記事です。

---
### 1. ollamaをダウンロード、インストールする　＃1GBくらいダウンロードあり
### 2. PowerShellで「ollama pull gemma3:1b」と打ってみる　＃1GBくらいダウンロードあり
### 3. Pythonをダウンロード、インストール、アップグレードする
### 4. open-webuiをインストール、起動する　＃30分くらい待つかも
### 5. chromeなどのブラウザで「何ができますか？」と打ってみる
---

以上でもう動いてます！

- ollamaがPS5とかSwitchみたいなもので、色々と「モデル」というカセットをプレイできるようなイメージ
- open-webuiは今風のチャット画面を提供してくれます
- 上記を5ステップというのは流石に無理があるかもですが、思ったよりも簡単だと思います
- 数GB～数十GBのファイルをダウンロードするので気長に待ちましょう
- インターネット拡張、ファイルアップロードなど、とても多機能ですが、先ずは動かしてみましょう
- 会話開始後はインターネット切断しても動きます

---

# 手順詳細

## 1. 公式サイトからインストーラをダウンロード、実行し、ウィザードに従ってインストールします。
アイコンかわいい。
FireAlpacaのアイコンかと思った。

https://ollama.com/

:::note info

### ＃オプションだけどおすすめな手順
ダウンロード、インストールはシンプルなので迷うことはないかと思います。
一点、デフォルトから変更のおすすめとして、
モデルの保存場所を変えておけます。
モデルを色々試したくなるのですが、数GB～数十GBのファイルを配置することになるので、
例えばCドライブ以外の方が広いとかあればそちらに設定しておく方が良いかなと思います。

```
「Windowsキー＋R」→sysdm.cplと打ってエンター→「詳細設定」タブ最下部、「環境変数(N)」
→「システム環境変数(S)」を「新規(W)」→変数名「OLLAMA_MODELS」、変数値を任意の場所指定。
「D:\opt\ollama\models」などお好みで。
```
デフォルトは「C:\Users\インストールしたユーザ名\.ollama\models」
もし上手く場所が切り替わらない場合、ollamaの再起動またはパソコンの再起動をしてみましょう。
:::


## 2. PowerShellでモデルを指定して取得します。
```
「Windowsキー＋R」→「powershell」と打ってエンター →「ollama pull gemma3:1b」と打ってエンター
```

## 3. Pythonをダウンロード、インストール、アップグレードします。

powershellで以下を実施し、Python 3.11系がなかったら、インストールを実施します。
＃インストール済の場合は「作業環境作成、アップグレード」へ進みます。
```powershell
python -V
```

#### 公式サイトからWindows installer (64-bit)をダウンロード。
ウィザードに従ってインストールします。

https://www.python.org/downloads/release/python-3119/

#### または、chocolateyなどのツールでインストール。
「Windowsキー＋R」→「powershell」と打って、Ctrl＋Shift押しながらエンター。以下を実行します。
```powershell
choco install python311 -y
```

:::note info
chocolateyに関しては以下を確認してみてください。
:::

https://qiita.com/kubo4ka/items/96484112f1ed745bf141

### 作業環境作成、アップグレード
Python3-11系のインストール後、
「Windowsキー＋R」→「powershell」と打ってエンター → 以下を実行します。
```powershell
python -V
py --list-paths
python -m venv .venv
python -m venv .venv --clear
py -3.11 -m venv .venv
cd .venv
Scripts\activate
python -V
python -m pip install --upgrade pip
```

## 4. open-webuiをインストール、起動します。

続けてpowershellで以下を実行します。
環境によっては10分～30分程度かかります。
途中、権限許可を求められることもあります。
```powershell
pip install open-webui
open-webui serve
```
以下のようなログが出力されたら、サーバ側は動作しているはずです。
```

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.6.13 - building the best AI user interface.

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

INFO:     Started server process [9272]
INFO:     Waiting for application startup.
2025-06-01 22:48:34.646 | INFO     | open_webui.utils.logger:start_logger:140 - GLOBAL_LOG_LEVEL: INFO - {}
2025-06-01 22:48:34.647 | INFO     | open_webui.main:lifespan:489 - Installing external dependencies of functions and tools... - {}
2025-06-01 22:48:34.668 | INFO     | open_webui.utils.plugin:install_frontmatter_requirements:241 - No requirements found in frontmatter. - {}

```


## 5. chromeなどのブラウザで「何ができますか？」と打ってみましょう。

任意のwebブラウザで、「localhost:8080」へアクセスして、任意のアカウントを作成します。
サーバ側の状況次第なので、何度かリロードしているうちにアクセスできるはずです。

http://localhost:8080

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3562068/c293982e-838a-4294-b83f-e0b1f8c5cf52.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3562068/dafaea45-1958-4691-a43f-6026da61d0fe.png)

自分のパソコンの中にしか保存されない情報なので、
任意の名前、アドレス、パスワードを設定してください。

モデルが正しく認識されていれば、対象を選択してチャットが開始できるはずです。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3562068/985f331a-6063-4073-9a31-3603f8268e81.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3562068/e81afd79-fc1b-464d-bc27-339deea74319.png)

やはりこの形式で利用したいですよね。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3562068/393e7ca8-806f-4280-bcc1-599f1327d436.png)

htmlソースをリクエストすると、プレビューも可能という親切設計。

:::note info
open-webuiを停止する際はCtrl+Cで停止します。
また、Pythonのvenvを終了するには以下を実行します。
```powershell
deactivate
```

:::


## オプション：モデル探し
最初は軽いもので試しました。
もっと色々なモデルが利用可のなので幾つか試してみてください。
公式サイトから探せます。

https://ollama.com/search

または以下のサイトもサポートされています。

https://huggingface.co/docs/hub/ollama

カセットの形式が「GGUF」だ、という感じで良いかなと思います。
基本的に、「ollama pull」の対象となるカセット探し、という感じです。
ファイルサイズを見つつ、自分のパソコンに入るか考えながら探しましょう。
例えばこんな感じになります。

```powershell
ollama pull qwen3:0.6b
ollama pull qwen3:1.7b
ollama pull gemma3:latest
```

---

## ＃後片付け
もし容量がいっぱいになったとか、
もうこのモデルは不要、となった場合、以下のコマンドで削除しましょう。

「ollama list」で削除対象を確認します。
↓
「ollama rm」で削除しましょう。

＊実行例
```
PS D:\opt\Ollama> ollama list
NAME                    ID              SIZE      MODIFIED
llm-jp-13b-v2:latest    431faa45aafe    8.3 GB    4 minutes ago
mistral:latest          f974a74358d6    4.1 GB    58 minutes ago
gemma3:4b               a2af6cc3eb7f    3.3 GB    11 hours ago
gemma3:1b               8648f39daa8f    815 MB    11 hours ago

PS D:\opt\Ollama> ollama rm llm-jp-13b-v2:latest
deleted 'llm-jp-13b-v2:latest'

```

---

## ＃2回目以降のopen-webui起動方法
2回目以降も「open-webui serve」で起動可能ですが、
毎回コマンドを打つのも面倒なので、
以下のようなバッチファイルを作成すると便利かも知れません。

＊バッチファイル例
```start_open_webui.bat
@echo off
COLOR 80
if not "%1" == "arg" (
    start /min cmd /c call "%~f0" arg
    echo.
    echo **************** start open-webui ****************
    echo wait 1 or 2 min. reload localhost:8080
    ping localhost -n 8 > nul 2>&1
    explorer http://localhost:8080
    echo **************************************************
    echo.
    exit
)
cd /d %USERPROFILE%\.venv
call Scripts\activate
open-webui serve
REM open-webui serve --port 3000
REM deactivate
```

- ポート番号は`open-webui serve --port 3000`といった感じで指定可能です
- コンソールログを取り敢えず最小化しておく感じのスクリプトです
- スタートアップに登録すれば、ログイン時に実行も可能です

# 全体を通じて
- Windowsの場合、WSL、Ubuntu、Docker（Ollama、OpenWebUI）という利用が主流かと思いますが、取り敢えず動かしてみる、という趣旨で、コンテナなしでWindows標準っぽい感じの機能利用する手順を整理してみました
- Core m3 8100Y, mem8GB, win10 (OneMix3)という非力な環境で、簡単な動作確認はできました