2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Power10サーバーで ollama と granite3.1-dense:8b を稼働し VSCode extension の watsonx Code Assistant を動かす

Last updated at Posted at 2025-01-13

はじめに

watsonx Code Assistant をモデル指定で稼働する以下の記事を参照させていただき、

以前検証した以下の記事の内容を合わせて、

watsonx code assistant を IBM Power RHEL9.4 サーバーで ollama + granite3.1-dense:8b での稼働を確認しました。


LLM のモデルは、2024/12 リリースの IBM Granite 3.1 "granite3.1-dense:8b" を使用します。


環境

  • HW: IBM Power S1022
      LPAR リソース:CPU 3 core, Memory 32 GB で検証
      今回はインターネット接続環境を使用しています。

  • RHEL 9.4 server (ppc64le)

  • ollama : 次のコンテナ・イメージを使用 -> quay.io/mgiessing/ollama

  • LLM model : granite3.1-dense:8b -> https://ollama.com/library/granite3.1-dense

--

  • Local PC (Mac) + VSCode + watsonx Code Assistant(拡張機能)

以下のようなイメージで、Local PC の VSCode + watsonx Code Assistant から Power10 RHELサーバー(LPAR) の ollama + granite と接続しています。


Power10 上の RHEL の ollama 環境設定

  • ollama コンテナを pull
# podman run -d --privileged -v ollama:/root/.ollama -p 6443:11434 --name ollama quay.io/mgiessing/ollama:v0.3.14
Trying to pull quay.io/mgiessing/ollama:v0.3.14...
Getting image source signatures
Copying blob a26f98920ed2 done   |
Copying blob a181ccbec46a done   |
Copying blob c1b3fd6d67e8 done   |
Copying blob ee70963c9454 done   |
Copying config 175cf51aaf done   |
Writing manifest to image destination
2f52c47bcd37e5f0de03c627fed614da5aea8ab0aecf0ec9bc0c270af3751d87

Tips : PowerVS 外部接続では 6443 ポートが任意使用可能であるため、ホスト側のポートを 6443 で指定しています。

PowerVS : ネットワーク・セキュリティー
https://cloud.ibm.com/docs/power-iaas?topic=power-iaas-network-security&locale=ja

ポート 6443 も、多様な用途のために開いています。


  • コンテナ稼働確認
# podman ps
CONTAINER ID  IMAGE                             COMMAND     CREATED         STATUS         PORTS                    NAMES
2f52c47bcd37  quay.io/mgiessing/ollama:v0.3.14  serve       14 seconds ago  Up 14 seconds  0.0.0.0:6443->11434/tcp  ollama
  • ollama コンテナにログイン
# podman exec -it ollama /bin/bash
[root@2f52c47bcd37 /]#
  • model の確認
[root@2f52c47bcd37 /]# ollama list
NAME    ID    SIZE    MODIFIED

-> まだ何のモデルもpull していない状態です。

  • model の pull と 実行
# ollama run granite3.1-dense:8b
pulling manifest
pulling 0a922eb99317... 100% ▕████████████████████████████████████▏ 4.9 GB
pulling f7b956e70ca3... 100% ▕████████████████████████████████████▏   69 B
pulling f76a906816c4... 100% ▕████████████████████████████████████▏ 1.4 KB
pulling 492069a62c25... 100% ▕████████████████████████████████████▏  11 KB
pulling e026ee8ed889... 100% ▕████████████████████████████████████▏  491 B
verifying sha256 digest
writing manifest
success
>>> Send a message (/? for help)

プロンプトが表示され、ollama 上で granite3.1-dense:8b が稼働するようになりました。


ここで ollama とモデルが稼働したので、外からアクセスできるかを確認します。

Webブラウザで "http://(ollama稼働のサーバーIPアドレス):6443" にアクセスします。


ollama_ui.png

接続できると、"ollama is running" の表示が確認できます。
外部接続の可能も確認できました。


VSCode の watsonx Code Assistant で ollama API ホストの設定

VSCode 上で watsonx Code Assistant の 拡張機能設定を行います。

参照させていただいた手順(再掲):

VSCode の設定画面を開きます
 -> 左下の歯車マークで設定を選択

watson を検索
 -> watsonx Code Assistant で以下の箇所を設定します

 ・Wca: Backend Provider (ollama)
 ・Wca > Local: Api Host (作成した ollama サーバーのIPアドレス:6443ポートを指定)
 ・Wca > Local: Chat Model (granite3.1-dense:8b)
 ・Wca > Local: Code Gen Model (granite3.1-dense:8b)

図1.png


稼働確認

  • 赤枠部分の watsonx Code Assistant の Chat セッションを開きます。

質問します。

"ファイルを開く python コードを教えて" と聞いてみました。

少し時間はかかりましたが、(数十秒~1分?) 答えが返って来ました。
回答を書き始めたら速い印象です。

図2.png

同じような回答ですが、追加で答えてくれました。(つまりユーザーの1 回の質問で WCA/ollama/granite側から2 回の回答がありました)

図3.png


今回はインターネット接続環境で作成しましたが、Power環境は一般的にはClosed 環境が多いので、インターネット非接続のPower環境内にLLM 稼働サーバー作成できるように今後、手順を確認予定です。


おわりに

  • Power 上で簡単に ollama 環境を構築して、LLM を稼働することができています。

  • CPU、メモリーリソースがどの程度必要なのかは、(時間があれば)調査できればと思います。

  • 最近は ollama 互換の UI やサービスが増えてきているようなので、Local の ollama サーバーでLLMモデルを稼働させておけば他のサービスとの接続にも使用できそうです。


以上です。

2
1
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
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?