2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Ollama x Open WebUI で、新しくサポートされた「IBM Granite 3.0 モデル」を動かすまで

Last updated at Posted at 2024-10-21

概要

2024年10月21日に、Ollamaに、従来の「Granite Code」に加えて、テキスト生成に対応する「IBM Granite 3.0 モデル」が加わりましたので、さっそくOllamaで確認してみました。
上記については、Ollamaのブログ記事をご覧ください。

Ollama環境のセットアップ

基本的には、以前書いた「Ollama x Open WebUI で、IBMが作ったLLM「Granite Code」を動かすまでの備忘録」と同じですので、環境の用意の際に参考にしてください。

LLM「IBM Granite 3.0 モデル」の動作確認

IBM Cloud Virtual Serverで仮想サーバーを用意しましょう。Ollamaをインストール後、次のコマンドを実行します。

ollama run granite3-dense

こちらは、RAG(検索拡張生成)に使うことができる2つあるモデルのうちの1つで、軽量な2B(20億)パラメータの「granite3-dense」です。もう1つ8B(80億)パラメータの「granite3-dense:8b」があります。

コマンドを実行した結果、次のように表示されます。

>>> Send a message (/? for help)

実際に質問してみましょう。

IBMは、AIとクラウドコンピューティングを提供していますか?

質問を入力し、Enterキーを押すと、返信が生成されます。

はい、IBMはAIとクラウドコンピューティングの両方を提供しています。

AIは、人工知能(AI)および機械学習(ML)に関する分野です。IBMはAI技術を使用
して、さまざまな業界で自動化、分析、予測などのタスクをサポートします。IBM
Watsonは、AIとクラウドコンピューティングの両方を使用して、ビジネスクエリやト
ランスフォメーションに使用できるユーザーフレンドリーなプラットフォームです。


クラウドコンピューティングは、データセンターを所有するか持ちるかどうかに関わ
らず、インフラストラクチャ、アプリケーション、データをオンデマンドで提供する
サービスの一種です。IBM Cloudは、AIとクラウドコンピューティングの両方を使用
して、ビジネスに必要なすべてのリソースを提供します。IBM Cloud Pak for Dataは
、AIとクラウドコンピューティングを統合したデータとアプリケーション開発プラッ
トフォームです。

IBMは、AIとクラウドコンピューティングの両方を使用して、ビジネスに革新し、パ
フォーマンスを向上させるために、業界で信頼されています。

割といい感じの答えです。これは、インサイドセールス(デジタルセールス)やカスタマーサクセスのお仕事をしている方々にとっては、LLMを補助にすることで、より効率的にお客様と向き合う時間が増えそうです。

RAGを使う必要がなければ、さらに軽い「granite3-moe」や「granite3-moe:3b」も使えます。こちらも日本語で質問すると、返答が生成されます。
「granite3-moe」や「granite3-moe:3b」はとても軽量なので、スマートフォンやIoTデバイスに組み込んで使う前提と思われます。
今回のモデルは、いずれもライセンスが、Apache 2.0 ライセンスとのことなので、商用にも使えるので助かりますね。

次は、Open WebUIを使って、Webブラウザ上から、「IBM Granite 3.0 モデル」と会話できるようにしましょう。

Open WebUI の起動

Ollama x Open WebUI で、IBMが作ったLLM「Granite Code」を動かすまでの備忘録」を参考に、Nginxのインストールと、OllamaをAPI利用するためのリバースプロキシ設定ファイルを作成しておきます。

curlを使ったOllamaのAPI接続および動作確認

次のコマンドを実行します。

curl http://仮想サーバーのパブリックIPアドレス/api/generate -d '{ "model": "granite3-dense", "prompt": "新潟県の県庁所在地はどこですか?日本語で答えてください。", "stream": false }'

http://仮想サーバーのパブリックIPアドレス/api/generate に接続し、LLM名を指定、プロンプトを指定することで結果を得ることができます。
動作確認なので、IPアドレスを使っています。本番運用では独自ドメインを使いましょう。

Open WebUI の起動

次のコマンドを実行します。OLLAMA_BASE_URLに、先ほどインストールしたnginxを指定します。

docker run -d -p 3000:8080 -e OLLAMA_BASE_URL=http://仮想サーバーのパブリックIPアドレス -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main

実行後、Webブラウザで、VMの3000番ポートにアクセスします。
動作確認なので、IPアドレスを使っています。本番運用では独自ドメインを使いましょう。

以下が表示されれば、正常に動作していることを示します。Open WebUIが表示されます。
image.png

Open WebUI に管理者ユーザーを登録

最初の作業として、管理者ユーザーを登録します。「Sing up」をクリックします。
「Name」「Email」「Password」の各項目を入れ、「Create Account」をクリックします。
image.png

「What’s New in Open WebUI」が表示されるので、一読した後に「Okay, Let's Go!」をクリックします。

モデルを選ぶ

画面左上の「Select a model」をクリックし、「granite3-dense:latest」を選びます。
image.png

モデルが選ばれた状態になります。
image.png

なお、画面を日本語化するには、赤枠の部分をクリックすることで隠されていたメニューが表示されるので、自分のユーザー名をクリックするとで、設定画面にアクセスができます。設定画面で日本語画面に切り替えることができます。
image.png

日本語で質問してみる

「How can I help you today?」と表示されている欄が質問を入力するところですので、日本語で質問していみましょう。
image.png
先ほどと同じ質問にします。

IBMは、AIとクラウドコンピューティングを提供していますか?

次のように返信が生成されました。日本語に加えて、英語でも生成されました。IBM tambiénという謎の言葉が入っているので、日本語で回答してくださいと追記して、もう一度質問してみます。
image.png

IBMは、AIとクラウドコンピューティングを提供していますか?日本語で回答してください。

次のように返信が生成されました。おそらく、Watson AIは、watsonx.ai かもしれませんが、わずか2Bモデルでいいかんじの内容が返ってきています。
image.png

このあたり、RAGの技術を使って調整すれば、期待ができそうです。

まとめ

本記事では、LLM実行ツールの「Ollama」と「Ollama」のUIである「Open WebUI」、IBMが提供するLLMの「IBM Granite 3.0 モデル」の「granite3-dense」を使い、Webブラウザ上で使える生成AIサービスとして動かすまでを確認しました。
わずか2Bの小さなモデルであるにも関わらず、今後に期待できそうな結果となり、オープンソースの生成AIアプリ開発プラットフォームの「Dify」と連携させるなどすれば、RAGベースの生成AIアプリが作れるので楽しみです。

2
0
4

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?