Gate.AI を LangChain と LangGraph に統合する方法

Gate.AI LangChain と LangGraph 統合ガイド

Gate.AI は OpenAI 互換の API エンドポイントを提供し、開発者はこのエンドポイントを通じて LangChain と LangGraph を組み合わせ、Gate.AI 経由のモデル呼び出しを実現できます。Python アプリケーションがチェーンベースのプロンプトやグラフベースのエージェントワークフローを必要とする場合、または各モデルプロバイダーごとにアプリロジックを書き直すことなく統一されたモデルゲートウェイを構築したい場合に特に重要です。本資料では、ローカル環境の構築、LangChain のテスト呼び出し、LangChain プロンプトチェーン、そして簡単な LangGraph ワークフローについて解説します。生産展開、ベクトルデータベース、可観測性、課金設定、企業向けアクセス戦略には触れません。

前提条件

  • Gate.AI アカウントで API キーを作成済み
  • Python 3.10 以上、依存パッケージのインストール権限を持つこと

内容源:Gate.AI 公式ドキュメントおよび製品資料、2026年6月時点。

本ガイド完了後に得られる能力

ChatOpenAI を通じて Gate.AI を LangChain に接続し、LangGraph ワークフロー内で同じモデル設定を再利用できます。

この方法により、以下が可能になります。

  • ローカルの Python スクリプトから Gate.AI を呼び出す
  • Gate.AI ルーティングの model="auto" 設定をテスト
  • 必要に応じて auto を検証済みの Gate.AI モデルIDに置き換える
  • LangChain のプロンプトチェーンを実行
  • 2段階の 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、認証エラー

  • 原因: API キーの未設定、期限切れ、スペルミス、シェルからの読み取り不可
  • 対策: 同じ端末で echo $GATEAI_API_KEY を実行し、キーが有効かつ Gate.AI に登録されているか確認。別セッションで設定した場合は端末を再起動。

現象: 404、接続失敗、エンドポイント未検出

  • 原因: Base URL の設定ミス。OpenAI 互換の正しい Base URL は以下の通りです:
  • 対策: 各 ChatOpenAI インスタンスの base_url を正しく設定。

現象: Python で ModuleNotFoundError

  • 原因: 仮想環境に langchain-openai または langgraph が未インストール
  • 対策: 仮想環境を有効化し、pip install -U langchain langchain-openai langgraph を実行。

現象: 認証成功後にモデルリクエスト失敗

  • 原因: 選択したモデルが利用不可、スペルミス、またはサポートされていないリクエスト
  • 対策: まず model="auto" でテスト。固定モデルが必要な場合は、Gate.AI から有効なモデルIDをコピー。

現象: LangGraph ワークフローが状態を完全に返さない

  • 原因: ノードが期待通りの状態キーを返していない、またはグラフ構造にエッジが不足
  • 対策: 各ノードが正しいキーを含む辞書を返し、START、各ノード間のエッジ、ENDが正しく設定されているか確認。

今後の拡張や構築可能な内容

  • Gate.AI 開発者 API 統合を通じて、ローカルワークフローをより広範な Gate.AI API 体系に接続
  • AI コーディングエディタに Gate.AI を組み込みたい場合は、Gate.AI Cursor 統合ガイドを参照
  • Claude Code などの開発フローや、Anthropic 互換の設定を行う場合は、Gate.AI Claude Code 統合ガイドを参照
原文表示
このページには第三者のコンテンツが含まれている場合があり、情報提供のみを目的としております(表明・保証をするものではありません)。Gateによる見解の支持や、金融・専門的な助言とみなされるべきものではありません。詳細については免責事項をご覧ください。
  • 報酬
  • コメント
  • リポスト
  • 共有
コメント
コメントを追加
コメントを追加
コメントなし
  • ピン留め