4
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

n8n の OpenAI Chat Model ノード から OCI Generative AI モデルを呼ぶ方法(OCI_GenAI_access_gateway編)

4
Last updated at Posted at 2025-09-07

このブログは?

ノーコードで業務自動化のワークフローやAIエージェントを開発できる n8n(エヌエイトエヌ) が、国内でも注目度が上がって来ましたね。もう既に、AIワークフローを作ってみたという人も多いのではないでしょうか?
YouTube などで見かけるチュートリアルに従って作ってみたワークフローを実運用では OCI Generative AI の LLM で動かしたいなんてことも増えているのではないでしょう?

そこで、この記事では、 "OpenAI Chat Model"ノードで作られたワークフローを OCI Generative AI に対応させる手順 をご紹介します。

1つのやり方としては、OpenAI Chat Model ノードを下記のブログでご紹介した n8n-nodes-oracle-cloud の OCI Generative AI Chat Model ノードへ変えるという手があります。

今回ご紹介するのは、OSS の OCI_GenAI_access_gateway を使用して、ノードは OpenAI Chat Model ノードのまま OCI Generative AI を利用する方法です。

n8n(エヌエイトエヌ)とは?

n8nは、ワークフロー自動化とインテグレーションのためのオープンソースプラットフォームです。プログラミングの知識がなくても、ビジュアルエディタを使用して複雑な業務プロセスを自動化できる、とても便利なノーコード・ローコードツールです。海外ではとても人気があるようで、YouTube でも頻繁に見かけるようになりましたね。

image.png

OCI Generative AI とは?

OCI(Oracle Cloud Infrastructure)Generative AI は、Oracle が提供するマネージド生成 AI サービスです。このサービスでは、Meta の Llama モデルや Cohere のモデル、そして最新では xAI の Grok 4 モデルなど、さまざまな先進的な生成 AI モデルを API 経由で利用できます。Google の Gemini がやって来るという発表もありましたのでこれから益々期待のサービスです。 REST API や SDK を通じてアクセスでき、テキスト生成、VQA(Visual Question Answering)、要約、分類、埋め込み生成などの AI タスクを実行できます。

n8n(エヌエイトエヌ)の "OpenAI Chat Model"ノードを OCI Generative AI サービス対応にするには?

n8n から OCI Generative AI サービスを利用するためには、OCI_GenAI_access_gatewayを使用します。
OCI_GenAI_access_gateway で、OCI Generative AI の API を OpenAI 互換の API に変換して、n8n からは OpenAI 互換の LLM として見えるようにします。同様の機能を提供してくれる LiteLLM という OSS もありますがこちらはまた別の記事でご紹介します。

OCI_GenAI_access_gateway とは?

OCI Generative AI サービスに OpenAI互換のインターフェースでアクセスを可能とするゲートウェイです。
オンデマンドと専用AIクラスタのチャットモデル、埋め込みモデル、OCI Data Scienceを通じてデプロイされたLLMサービスなどにOpenAI互換のAPIでアクセスすることができます。xAI の Grok にも対応しています。

環境構築手順

OCI_GenAI_access_gateway を立てる

OCI_GenAI_access_gateway のインストール

Python 仮想環境を作成して OCI_GenAI_access_gateway をインストールします。ここでは uv を使用した手順を説明します。

uv がインストールされていない場合はインストール
pip install uv
リポジトリをクローン
git clone https://github.com/jin38324/OCI_GenAI_access_gateway.git
cd OCI_GenAI_access_gateway
Python 仮想環境を作成
uv venv
仮想環境をアクティベート(Windows の場合)
.venv\Scripts\activate
仮想環境をアクティベート(Mac/Linux の場合)
source .venv/bin/activate

依存パッケージのインストール

依存パッケージのインストール
uv pip install -r requirements.txt

【TIPS】2025年9月7日時点では、OCI Python SDK の最新バージョン v2.159.0 との組み合わせでは、OCI_GenAI_access_gateway を起動することができません。以下のコマンドで、OCI Python SDK を 2.158.2 にダウングレードすることで起動できるようになります。
uv pip install -U "oci<2.159.0"
以下の issue を出していますので最新状況はこちらをウォッチしてください。
https://github.com/jin38324/OCI_GenAI_access_gateway/issues/21

OCI 認証の設定

OCI の認証方法としては以下の2つがサポートされています。

  • API Key
  • インスタンスプリンシパル

この記事では、API Key を使用します。
app/config.py ファイルを開いて下記の2か所を編集します。

認証方式
AUTH_TYPE = "API_KEY"
OCI構成ファイル
OCI_CONFIG_FILE = "~/.oci/config"

DEFAULT 以外のプロファイルを使用する場合は下記も編集します。

OCI構成ファイルプロファイル
OCI_CONFIG_FILE_KEY = "DEFAULT"

【TIPS】OCI_GenAI_access_gateway は、起動時に OCI構成ファイルで指定されているリージョンの OCI Generative AI サービスへアクセスするらしく、OCI Generative AI サービスが提供されていないリージョンを構成ファイルで指定していると OCI_GenAI_access_gateway を起動できませんでした。構成ファイルのリージョンは、us-chicago-1 のような OCI Generative AI サービスが提供されてるリージョンを指定しておきましょう!。
もっと良い方法をご存じの方、コメントいただけたら嬉しいです!

OCI_GenAI_access_gateway の認証設定

OCI に対する認証は、上記の情報を元に OCI_GenAI_access_gateway が行いますが、クライアントが OCI_GenAI_access_gateway にアクセスする際の認証は、同じ app/config.pyファイルの DEFAULT_API_KEYS を使用します。Key の文字列を変更します。

OCI_GenAI_access_gatewayの API Key
DEFAULT_API_KEYS = "ocigenerativeai"

OCI_GenAI_access_gateway の起動

OCI_GenAI_access_gateway の起動
cd app
uv run app.py

【TIPS】Linux の場合は、複数のワーカースレッドを起動して並列でリクエストを処理することができます。
詳細は、リポジトリ README の Quick Start > Option 1 をご参照ください。

Docker で起動する場合は、リポジトリ README の Quick Start > Option 2 をご参照ください。

OCI_GenAI_access_gateway 経由の OCI Generative AI サービスへのアクセステスト

OpenAI 互換API で OCI_GenAI_access_gateway を使用する際に必要な情報は下記となります。

  • API Key : OCI_GenAI_access_gateway の API Key です。先程、OCI_GenAI_access_gateway の認証設定で設定した DEFAULT_API_KEYS です。デフォルトは、ocigenerativeaiです
  • Base URL : OCI_GenAI_access_gateway の URL です。デフォルトでは、http://xxx.xxx.xxx.xxx:8088/v1/ です
テスト用サンプルコード
OpenAI互換クライアント
from openai import OpenAI
client = OpenAI(
    api_key="ocigenerativeai",
    base_url="http://localhost:8088/v1/"
)

response = client.chat.completions.create(
    model="meta.llama-4-maverick-17b-128e-instruct-fp8",
    stream=True,
    messages=[
        {"role": "user", "content": "こんにちは!あなたは誰?"}
    ]
)

for chunk in response:
    if hasattr(chunk, 'choices') and len(chunk.choices) > 0:
        delta = chunk.choices[0].delta
        if hasattr(delta, 'content') and delta.content is not None:
            print(delta.content, end="")
    
print("\n")

なお、このコードを実行するためには、OpanAI の SDK をインストールしておく必要があります。

OpenAI SDK インストール
uv pip install openai
実行例
$ uv run openai_client.py 
Llamaです!元気?何についてお話ししようか?

ちょっと軽い感じの人ですが、お話しできたようです。

AIチームリーダーを移行する

AIチームリーダーとは?

私が n8n で作ったシンプルなAIエージェントです。毎日1回定期的に実行されて、翌日の東京ディズニーランドの天気予報を調べて、レジャー日和ならチームのslackチャンネルへ東京ディズニーランドへのお誘いメッセージを書きこみます(近頃ではパワハラになる可能性があるので本当に使ってはいけません!)。

OpenAI Chat Model の OCI Generative AI への移行
  • ワークフローエディタの「OpenAI Chat Model 」をダブルクリックします
    image.png
    「OpenAI Chat Model 」の設定ダイアログが開きますので、「Credential to connect with」の下のプルダウンをクリックして、「Create new credential」を選択します。下記のような画面が表示されます
    image.png
  • 左上のChat Model の名前を「OCI GenAI Chat Model」などに変更します
  • 「API Key」に先程設定した「OCI_GenAI_access_gateway」のDEFAULT_API_KEYSを入力します
  • 「Base URL」に OCI_GenAI_access_gateway の URL を入力します。デフォルトでは、http://xxx.xxx.xxx.xxx:8088/v1/ です。"xxx.xxx.xxx.xxx" は、OCI_GenAI_access_gateway ホストしているサーバーのIPアドレスです
  • 右上の「Save」をクリックして保存します
  • 右上の「x」をクリックして閉じます
  • 「OpenAI Chat Model」の設定画面に戻ります
  • 左上の Chat Model の名前を「OCI GenAI Chat Model」などに変更します
  • 「Model」の下の「From list」の右のモデル名をクリックすると利用可能な OCI Generatibe AI の Chat モデルが表示されます。使用したいモデルを選択します。ここでは、xAI の Grok 4 を選んでみます

image.png

  • 左上の「←」をクリックしてワークフローエディタに戻ります

  • 「Execute workflow」をクリックしてワークフローをテストします
    image.png

  • slack チェンネルには以下のようなメッセージが表示されました
    image.png

ちなみに、翌日の天気が良くなさそうな場合には下記のスクショのとおり slack メッセージを送信せずにワークフローが停止します。

image.png

このときの AI Agent の OUTPUT は下記でした。

image.png

あとがき

OpenAI向けに作られた n8n AI エージェントの LLM を OCI Generative AI のモデル(この記事では、grok 4)に変更する手順をご紹介しました。OCI_GenAI_access_gateway は、n8n 以外でも OpenAI API を使用している多くのアプリケーションで OCI Generative AI サービスを利用するために活用できる OSS ですでの是非覚えておいてください。

4
3
0

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
4
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?