LinuxMintでローカルAI(2)端末でOllama、ブラウザーでOpen WebUIをPython上で動作

ローカル環境で大規模言語モデル(LLM)を簡単に実行・管理できるツールとして、前回はLM Studioをご紹介しました。

今回は、オープンソースのツールである「Ollama」を用いて端末上でローカルAIを利用する方法、さらにはブラウザーでも利用できるようにOpen WebUIをPython上で動作させる手順についてご紹介させていただきます。

記事の内容

Ollamaのインストール

インターネットに接続した状態で、ターミナルで以下のコマンドを実行するだけで、ローカルLLMを管理・実行するためのフレームワーク「Ollama」がインストールされます。

curl -fsSL https://ollama.com/install.sh | sh

AIモデルの入手

ollamaの公式ページから数多くのAIモデルを入手して利用できます。https://ollama.com/search

例えば、GoogleのGemma3を追加で入手するには、一覧の中から「gemma3」の表示部分をクリック。

モデルサイズ毎に細かいモデル名が表示されるので、ダウンロードしたいモデル名をメモしておきます。

次のようなコマンド「ollama pull」に続けて、上のページに表記されているAIのモデル名を入力してEnterするだけです。例えば「gemma3:4b」というモデルを入手したい場合は、次のようになります。

ollama pull gemma3:4b

「qwen3」の場合、数あるモデルの中から「qwen3:8b」を選ぶなら、次の通りとなります。

ollama pull qwen3:8b

以上、Ollamaのインストール、AIモデルのダウンロードが完了したら、あとはインターネットに接続されていない状態でも、次のコマンドでチャットを開始できるようになります。

ollama run gemma3:4b

以上、ターミナル(端末)内でAIを利用できるわけですが、ChatGPTやGeminiと同じ感覚で利用する方法もあります。

これもいくつかの方法があるのですが、私はPythonで構築しています。

Pythonのpipを利用してOpen WebUIをインストールする手順

1. 前提条件の確認とインストール

Python 3.11以降のインストール: Open WebUIはPython 3.11以降を推奨しています。Linux Mintには通常、Pythonがプリインストールされていますが、バージョンが古い場合は更新またはインストールが必要となります。

本稿執筆時点でLinuxMint対応のPythonの最新バージョンは3.12

Python 3.12のインストール: Linux MintでPython 3.12がまだインストールされていない場合は、以下のコマンドでインストールできます

sudo apt update 
sudo apt install python3.12 python3.12-venv 

インストール後、次のコマンドでバージョンを確認します。

python3.12 --version

Google Chromeなどのブラウザーを起動し、アドレスバーに「localhost:11434」と入力してEnter。

次のように「Ollama is running」と表示されていればOK。Ollamaがバックグラウンドサービスとして動作中であることを示します。

2. Open WebUIのインストール

Pythonの仮想環境を使用することを強く推奨します。これにより、システム全体のPython環境を汚染せずに、Open WebUIとその依存関係を分離できます。

プロジェクト用のディレクトリを作成し、そのディレクトリに移動します。

mkdir ~/openwebui

「openwebui」というディレクトリ名は好みの名称にしてください。

作成したディレクトリに移動します。

cd ~/openwebui

Python 3.12で仮想環境を作成します。

python3.12 -m venv venv 

これにより、openwebui ディレクトリ内に venv という名前の仮想環境が作成されます。

仮想環境をアクティベートします。

source venv/bin/activate 

このコマンドを実行すると、ターミナルプロンプトの前に (venv) と表示され、仮想環境がアクティブになったことを示します。

これ以降の pip コマンドは、この仮想環境内にパッケージをインストールするのですが、まずは、pipを最新の状態にアップグレードしておきます。

pip install --upgrade pip

Open WebUIをインストールします。

pip install open-webui

このコマンドにより、Open WebUIとその依存パッケージが仮想環境内にインストールされます。

念の為、PillowとpyOpenSSLをアップグレードします(互換性のため)

pip install -U Pillow pyopenssl 

これは特定の依存関係の互換性問題を回避するために推奨されるステップとなります。

3. Open WebUIの実行

インストールが完了したら、仮想環境がアクティブな状態で以下のコマンドを実行してOpen WebUIを起動します。

open-webui serve

すると、次のように表示され、スタンバイ状態となります。

4. Open WebUIへのアクセス

Webブラウザを開き、以下のURLにアクセスします。

http://localhost:8080

初めてアクセスすると、ユーザー登録画面が表示されます。任意のユーザー名、メールアドレス、パスワードを設定してログインします。

以上の手順で無事に表示され、ローカルAIが利用可能となりました。

5. Ollamaモデルの切り替え

画面左上にあるAIモデル名をクリックすると、すでにダウンロードされているAIモデルが一覧で表示されます。好みのものに入れ替えて使用することができます。

これにより、ネット経由で情報が漏れることなく、利用制限もなく、無料でAIを利用することができるわけです。

6、AIモデルの追加ダウンロードと削除

このOpen WebUIの画面からもAIモデルのダウンロード(Pull)ができます。

画面右上の自分のアカウントのアイコンをクリックし、「設定」を開きます。

「設定」画面の左下にある「管理者設定」をクリック。

一覧の中から「モデル」をクリック。

右上に表示される「ダウンロードアイコン」をクリック。すると下記の画面が出ます。

「ここをクリックしてください」という表記をクリックするとAIモデルのライブラリーにジャンプします。

ダウンロードしたいモデル名を調べて、「Ollama.comからモデルをプル」にモデル名を入力して「ダウンロード」アイコンをクリックします。

次の画面はマイクロソフトのphi4のモデルを追加ダウンロードしているところです。

不要なモデルを削除するには、「モデルを削除」で、不要なモデルを選択して「ゴミ箱アイコン」をクリックすればOKです。

7, Open WebUIの終了と仮想環境の停止

Open WebUIの使用を終える場合は、Open WebUIを実行しているターミナルで Ctrl + C を押してサーバーを停止します。
または、次のコマンドでもサーバーを停止し、プロセスを終了させることができます。

pkill open-webui

仮想環境を非アクティブ化するには、以下のコマンドを実行します。

deactivate

プロンプトから (venv) が消えれば、仮想環境から抜け出したことになります。

メモリの使用状況

今稼働させているPCは、ThinkPad X13 YogaでCPU:Intel Core i5 10310U、RAM:16GBです。

下の画像の右上あたりに「RAM Usage」と表記があり、約10GBのメモリーを消費し、さらにはスワップも発生している状態です。

4コアのCPUは50%程度の使用率となっています。

gemma3 n:e4bの場合、回答が生成されるまでに時間はかかりますが、実用に耐えられるレベルです。

サーバーとして、他のPC、スマホからアクセスして利用する

Open WebUIはサーバーとして稼働していますので、同じネットワークにつながっている他のPCやスマホからアクセスすることも可能です。

1,IPアドレスの確認

次のコマンドでIPアドレスを確認します。

hostname -I
スマホからの利用

今回のサーバーのアドレスは192.168.0.72でした。

今回の例の場合、このアドレスに「:8080」をつけて、他のデバイスのWebブラウザーで”192.168.0.72:8080”とすることで、他の機器からアクセスしてローカルAIを利用することができます。

Open WebUIのアップデート

トラブルシューティングのヒント

1,Ollamaとの接続問題

Open WebUIでモデルが表示されない、またはダウンロードできない場合は、Ollamaが正しく起動しているか (ollama list コマンドで確認) と、Open WebUIがOllamaにアクセスできるか確認してください。
pip版は通常ローカルホストのOllamaに自動的に接続するのですが、ファイアウォールの設定なども確認すると良いでしょう。

2,権限の問題

sudo なしで pip install が権限エラーになる場合は、仮想環境が正しくアクティブになっているか確認してください。仮想環境内では sudo は不要です。

3,ログの確認

サーバーを起動しているターミナルに表示されるログメッセージを注意深く確認してください。エラーや警告が表示されている場合があります。

最後に

メモリー16GBでGPUを搭載していないノートPCでもモデルを選ぶことで、実用に耐えるレベルで利用できています。

次回は、32GB搭載のミニPCにNVIDIAのグラフィックスボードを接続してより大きなモデルを動かしている状態についてご紹介させていただきます。

よかったらシェアしてね!
  • URLをコピーしました!

この記事を書いた人

情報環境コミュニケーションズ 代表
企業、団体のITコンサル、サポート、システム構築/管理、大学の招聘研究員として大規模調査の設計、集計の効率化、解析などを行っています。
最近ではAI開発環境の構築のサポートも行うようになってきました。
<著書>2008年〜2015年、テクニカルライターとして、週間アスキー、Ubuntuマガジン、Linux 100%, Mac 100%, Mr.PCなど多数のIT系雑誌に寄稿。

コメント

コメントする

記事の内容