Gate.AI は OpenAI 互換の API エンドポイントを提供し、開発者はこのエンドポイントを通じて LangChain と LangGraph を組み合わせ、Gate.AI 経由のモデル呼び出しを実現できます。Python アプリケーションがチェーンベースのプロンプトやグラフベースのエージェントワークフローを必要とする場合、または各モデルプロバイダーごとにアプリロジックを書き直すことなく統一されたモデルゲートウェイを構築したい場合に特に重要です。本資料では、ローカル環境の構築、LangChain のテスト呼び出し、LangChain プロンプトチェーン、そして簡単な LangGraph ワークフローについて解説します。生産展開、ベクトルデータベース、可観測性、課金設定、企業向けアクセス戦略には触れません。
内容源:Gate.AI 公式ドキュメントおよび製品資料、2026年6月時点。
ChatOpenAI を通じて Gate.AI を LangChain に接続し、LangGraph ワークフロー内で同じモデル設定を再利用できます。
この方法により、以下が可能になります。
より広範な API 統合背景については、Gate.AI 開発者 API 統合を参照してください。
このステップでは、ローカルワークフローに必要な LangChain OpenAI 統合と LangGraph パッケージをインストールします。
仮想環境の作成と有効化:
bash python -m venv .venv source .venv/bin/activate
pip install -U langchain langchain-openai langgraph
Windows PowerShell 環境での有効化コマンド:
powershell .venv\Scripts\Activate.ps1
インストール完了後、langchain_openai と langgraph のインポートが正常に行えるはずです。
このステップでは、Gate.AI の API キーをソースコード外に保存します。
bash 環境での環境変数設定:
bash export GATEAI_API_KEY="YOUR_API_KEY"
Windows PowerShell 環境での設定:
powershell setx GATEAI_API_KEY "YOUR_API_KEY"
setx 実行後は PowerShell セッションを再起動してください。
なお、実際の API キーを Git にコミットしないよう注意してください。チームプロジェクトでは、秘密鍵管理ツールや CI の秘密鍵設定、承認済みの内部環境変数フローの利用を推奨します。
このステップでは、LangChain 内にチャットモデルを作成し、Gate.AI に OpenAI 互換のリクエストを送信します。
2026年6月の Gate.AI ドキュメントによると、OpenAI 互換の Base URL は以下の通りです:
LangChain では、この URL を base_url として設定します。base_url の後に /chat/completions を付ける必要はなく、LangChain が自動的にパスを処理します。
例:
python import os from langchain_openai import ChatOpenAI
llm = ChatOpenAI( model="auto", api_key=os.environ["GATEAI_API_KEY"], base_url="", temperature=0, )
response = llm.invoke("AIモデルルーターの役割を説明する一文を書いてください。") print(response.content)
期待される出力:
AIモデルルーターは、タスクやルール、設定に基づき、リクエストを適切なモデルに振り分けます。
実際のレスポンスは、Gate.AI のルーティングにより選択されたモデルに応じて動的に変わる可能性があります。
このステップでは、再利用可能なプロンプト、Gate.AI 対応モデル、文字列出力パーサーを連結します。
python import os from langchain_openai import ChatOpenAI from langchain_core.prompts import ChatPromptTemplate from langchain_core.output_parsers import StrOutputParser
prompt = ChatPromptTemplate.from_messages( [ ("system", "あなたは簡潔な技術アシスタントです。"), ("human", "{topic} について3つのポイントで説明してください。"), ] )
chain = prompt | llm | StrOutputParser()
result = chain.invoke({"topic": "Gate.AI API ルーティング"}) print(result)
3つのポイントの簡潔な解説が得られます。スクリプトがテキスト返却前にエラーを出した場合は、APIキー、Base URL、モデル設定を確認し、チェーン構造の直接修正は避けてください。
このステップでは、LangGraph の状態ワークフロー内で同じ Gate.AI モデル設定を再利用します。
例として、短い説明を生成するノードと、その内容をレビューするノードを作成し、ツールや記憶、検索、条件ルーティングの前に基本機能の動作確認を行います。
python import os from typing_extensions import TypedDict from langchain_openai import ChatOpenAI from langgraph.graph import StateGraph, START, END
class WorkflowState(TypedDict): topic: str draft: str review: str
def draft_node(state: WorkflowState) -> dict: response = llm.invoke( [ ("system", "あなたは短い技術説明を書きます。"), ("human", f"{state['topic']} の2文の説明を書いてください。"), ] ) return {"draft": response.content}
def review_node(state: WorkflowState) -> dict: response = llm.invoke( [ ("system", "技術文章の明確さをレビューします。"), ("human", f"このドラフトをレビューし、改善点を一つ提案してください:\n\n{state['draft']}"), ] ) return {"review": response.content}
builder = StateGraph(WorkflowState) builder.add_node("draft", draft_node) builder.add_node("review", review_node)
builder.add_edge(START, "draft") builder.add_edge("draft", "review") builder.add_edge("review", END)
app = builder.compile()
result = app.invoke({"topic": "LangGraph での Gate.AI"})
print("ドラフト:\n", result["draft"]) print("\nレビュー:\n", result["review"])
生成されたドラフトとレビューが表示されます。ワークフローがドラフトのみ返す場合は、draft から review へのエッジが正しく設定されているか確認してください。
より制御性を高めたい場合は、以下のように操作します。
Gate.AI の自動ルーティングが有効で、アカウントがサポートしている場合は、model="auto" で最初のテストを行います。
結果の再現性や評価の一貫性、遅延テスト、運用時の検証を行いたい場合は、具体的な Gate.AI モデルIDを使用します。
python llm = ChatOpenAI( model="YOUR_MODEL_ID", api_key=os.environ["GATEAI_API_KEY"], base_url="", temperature=0, )
モデルIDは Gate.AI のモデル一覧や管理コンソールから取得してください。空のまま推測することは避けてください。利用可能性はアカウントや製品状況、モデルサービス規則に依存します(2026年6月時点)。
| 設定項目 | 例示値 | 使用シーン | 重要性の説明 | | ----------------- | -------------------------------------------------------- | ---------------------------- | ---------------------------------------------- | | APIキー変数 | GATEAI_API_KEY | シェル・Pythonコード全体 | 機密情報がソースコードに出ないようにするため | | Base URL | | ChatOpenAI(base_url=...) | OpenAI 互換リクエストを Gate.AI にルーティング | | モデル | auto または YOUR_MODEL_ID | ChatOpenAI(model=...) | 自動ルーティングまたは特定モデル指定 | | 温度 | 0 | ChatOpenAI(temperature=0) | テスト環境で出力のばらつきを抑制 |
ルーティング動作を一定に保つには、LangChain と LangGraph で同じ llm オブジェクトを使い回すことを推奨します。ルーティングテストから固定モデルへの切り替え時のみ model パラメータを変更してください。
現象: 401、invalid_api_key、認証エラー
echo $GATEAI_API_KEY
現象: 404、接続失敗、エンドポイント未検出
現象: Python で ModuleNotFoundError
現象: 認証成功後にモデルリクエスト失敗
現象: LangGraph ワークフローが状態を完全に返さない
131.16K 人気度
8.75M 人気度
62.03K 人気度
901.45K 人気度
2.07M 人気度
Gate.AI を LangChain と LangGraph に統合する方法
Gate.AI LangChain と LangGraph 統合ガイド
Gate.AI は OpenAI 互換の API エンドポイントを提供し、開発者はこのエンドポイントを通じて LangChain と LangGraph を組み合わせ、Gate.AI 経由のモデル呼び出しを実現できます。Python アプリケーションがチェーンベースのプロンプトやグラフベースのエージェントワークフローを必要とする場合、または各モデルプロバイダーごとにアプリロジックを書き直すことなく統一されたモデルゲートウェイを構築したい場合に特に重要です。本資料では、ローカル環境の構築、LangChain のテスト呼び出し、LangChain プロンプトチェーン、そして簡単な LangGraph ワークフローについて解説します。生産展開、ベクトルデータベース、可観測性、課金設定、企業向けアクセス戦略には触れません。
前提条件
内容源:Gate.AI 公式ドキュメントおよび製品資料、2026年6月時点。
本ガイド完了後に得られる能力
ChatOpenAI を通じて Gate.AI を LangChain に接続し、LangGraph ワークフロー内で同じモデル設定を再利用できます。
この方法により、以下が可能になります。
より広範な API 統合背景については、Gate.AI 開発者 API 統合を参照してください。
ステップ 1:Python 依存パッケージのインストール
このステップでは、ローカルワークフローに必要な LangChain OpenAI 統合と LangGraph パッケージをインストールします。
仮想環境の作成と有効化:
bash python -m venv .venv source .venv/bin/activate
pip install -U langchain langchain-openai langgraph
Windows PowerShell 環境での有効化コマンド:
powershell .venv\Scripts\Activate.ps1
インストール完了後、langchain_openai と langgraph のインポートが正常に行えるはずです。
ステップ 2:Gate.AI API キーの保存
このステップでは、Gate.AI の API キーをソースコード外に保存します。
bash 環境での環境変数設定:
bash export GATEAI_API_KEY="YOUR_API_KEY"
Windows PowerShell 環境での設定:
powershell setx GATEAI_API_KEY "YOUR_API_KEY"
setx 実行後は PowerShell セッションを再起動してください。
なお、実際の API キーを Git にコミットしないよう注意してください。チームプロジェクトでは、秘密鍵管理ツールや CI の秘密鍵設定、承認済みの内部環境変数フローの利用を推奨します。
ステップ 3:LangChain で Gate.AI を設定
このステップでは、LangChain 内にチャットモデルを作成し、Gate.AI に OpenAI 互換のリクエストを送信します。
2026年6月の Gate.AI ドキュメントによると、OpenAI 互換の Base URL は以下の通りです:
LangChain では、この URL を base_url として設定します。base_url の後に /chat/completions を付ける必要はなく、LangChain が自動的にパスを処理します。
例:
python import os from langchain_openai import ChatOpenAI
llm = ChatOpenAI( model="auto", api_key=os.environ["GATEAI_API_KEY"], base_url="", temperature=0, )
response = llm.invoke("AIモデルルーターの役割を説明する一文を書いてください。") print(response.content)
期待される出力:
AIモデルルーターは、タスクやルール、設定に基づき、リクエストを適切なモデルに振り分けます。
実際のレスポンスは、Gate.AI のルーティングにより選択されたモデルに応じて動的に変わる可能性があります。
ステップ 4:LangChain プロンプトチェーンの構築
このステップでは、再利用可能なプロンプト、Gate.AI 対応モデル、文字列出力パーサーを連結します。
例:
python import os from langchain_openai import ChatOpenAI from langchain_core.prompts import ChatPromptTemplate from langchain_core.output_parsers import StrOutputParser
llm = ChatOpenAI( model="auto", api_key=os.environ["GATEAI_API_KEY"], base_url="", temperature=0, )
prompt = ChatPromptTemplate.from_messages( [ ("system", "あなたは簡潔な技術アシスタントです。"), ("human", "{topic} について3つのポイントで説明してください。"), ] )
chain = prompt | llm | StrOutputParser()
result = chain.invoke({"topic": "Gate.AI API ルーティング"}) print(result)
3つのポイントの簡潔な解説が得られます。スクリプトがテキスト返却前にエラーを出した場合は、APIキー、Base URL、モデル設定を確認し、チェーン構造の直接修正は避けてください。
ステップ 5:LangGraph で Gate.AI を設定
このステップでは、LangGraph の状態ワークフロー内で同じ Gate.AI モデル設定を再利用します。
例として、短い説明を生成するノードと、その内容をレビューするノードを作成し、ツールや記憶、検索、条件ルーティングの前に基本機能の動作確認を行います。
例:
python import os from typing_extensions import TypedDict from langchain_openai import ChatOpenAI from langgraph.graph import StateGraph, START, END
llm = ChatOpenAI( model="auto", api_key=os.environ["GATEAI_API_KEY"], base_url="", temperature=0, )
class WorkflowState(TypedDict): topic: str draft: str review: str
def draft_node(state: WorkflowState) -> dict: response = llm.invoke( [ ("system", "あなたは短い技術説明を書きます。"), ("human", f"{state['topic']} の2文の説明を書いてください。"), ] ) return {"draft": response.content}
def review_node(state: WorkflowState) -> dict: response = llm.invoke( [ ("system", "技術文章の明確さをレビューします。"), ("human", f"このドラフトをレビューし、改善点を一つ提案してください:\n\n{state['draft']}"), ] ) return {"review": response.content}
builder = StateGraph(WorkflowState) builder.add_node("draft", draft_node) builder.add_node("review", review_node)
builder.add_edge(START, "draft") builder.add_edge("draft", "review") builder.add_edge("review", END)
app = builder.compile()
result = app.invoke({"topic": "LangGraph での Gate.AI"})
print("ドラフト:\n", result["draft"]) print("\nレビュー:\n", result["review"])
生成されたドラフトとレビューが表示されます。ワークフローがドラフトのみ返す場合は、draft から review へのエッジが正しく設定されているか確認してください。
ステップ 6:自動ルーティングを指定モデルに置き換える
より制御性を高めたい場合は、以下のように操作します。
Gate.AI の自動ルーティングが有効で、アカウントがサポートしている場合は、model="auto" で最初のテストを行います。
結果の再現性や評価の一貫性、遅延テスト、運用時の検証を行いたい場合は、具体的な Gate.AI モデルIDを使用します。
例:
python llm = ChatOpenAI( model="YOUR_MODEL_ID", api_key=os.environ["GATEAI_API_KEY"], base_url="", temperature=0, )
モデルIDは Gate.AI のモデル一覧や管理コンソールから取得してください。空のまま推測することは避けてください。利用可能性はアカウントや製品状況、モデルサービス規則に依存します(2026年6月時点)。
重要な設定項目
| 設定項目 | 例示値 | 使用シーン | 重要性の説明 | | ----------------- | -------------------------------------------------------- | ---------------------------- | ---------------------------------------------- | | APIキー変数 | GATEAI_API_KEY | シェル・Pythonコード全体 | 機密情報がソースコードに出ないようにするため | | Base URL | | ChatOpenAI(base_url=...) | OpenAI 互換リクエストを Gate.AI にルーティング | | モデル | auto または YOUR_MODEL_ID | ChatOpenAI(model=...) | 自動ルーティングまたは特定モデル指定 | | 温度 | 0 | ChatOpenAI(temperature=0) | テスト環境で出力のばらつきを抑制 |
ルーティング動作を一定に保つには、LangChain と LangGraph で同じ llm オブジェクトを使い回すことを推奨します。ルーティングテストから固定モデルへの切り替え時のみ model パラメータを変更してください。
Gate.AI LangChain と LangGraph のトラブルシューティング
現象: 401、invalid_api_key、認証エラー
echo $GATEAI_API_KEYを実行し、キーが有効かつ Gate.AI に登録されているか確認。別セッションで設定した場合は端末を再起動。現象: 404、接続失敗、エンドポイント未検出
現象: Python で ModuleNotFoundError
pip install -U langchain langchain-openai langgraphを実行。現象: 認証成功後にモデルリクエスト失敗
現象: LangGraph ワークフローが状態を完全に返さない
今後の拡張や構築可能な内容