5
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

OpenCodeとOCI Generative AIを連携する

5
Posted at

概要

OpenCode は Cloude Code や Codex CLI のような AI コーディング エージェントで、オープンソースとして管理されていることが特徴です。

デフォルトでは OpenAI や Anthropic などの主要な AI プロバイダーをサポートしていますが、現時点では Oracle Cloud Infrastructure (OCI) の Generative AI サービスは直接サポートされていません。

しかし、LiteLLM をプロキシ(ゲートウェイ)として使用することで、OCI Generative AI を OpenAI 互換の API エンドポイントとして公開し、OpenCode から利用することが可能になります。
本記事では、そのセットアップ手順を紹介します。

構成

今回の環境構成は以下の通りです。

  • OS: Ubuntu 24.04.3 LTS (Windows11 の WSL2)
  • LLM: OCI Generative AI (Grok 4.20 Reasoning など)

LiteLLM が OCI Generative AI の API をラップし、OpenCode は LiteLLM が提供する OpenAI 互換のエンドポイントへ接続するという流れになります。

手順

1. OpenCode のインストール

WSL2 環境に OpenCode をインストールします。
以下のコマンドを実行することで、簡単にインストールが完了します。

curl -fsSL https://opencode.ai/install | bash

image.png

詳細なインストール方法は、OpenCode 公式サイト を参照してください。

2. LiteLLM のインストールと設定

次に、OCI Generative AI を OpenAI 互換 API に変換するための LiteLLM をインストールします。

インストール

いかのコマンドを実行することでインストールが完了します。

curl -fsSL https://raw.githubusercontent.com/BerriAI/litellm/main/scripts/install.sh | sh

セットアップウィザード(Interactive Setup Wizard)が表示された場合は、OCI が選択肢に含まれていないため、N で終了して問題ありません。

LiteLLM のインストール方法の詳細は、Getting Started Tutorial を参照してください。

設定ファイルの作成

LiteLLM の動作を定義する config.yaml を作成します。
私は、~/.litellm ディレクトリを作成し、そこにファイルを作成しました。

OCI の認証情報と、使用したいモデルを定義します。

oci_auth_param : &oci_auth
  oci_region: us-ashburn-1
  oci_user: ocid1.user.oc1..aaaaaaa... # ユーザーのOCID
  oci_fingerprint: 5d:d6:9e:...         # 公開鍵のフィンガープリント
  oci_tenancy: ocid1.tenancy.oc1..aaaaaa... # テナンシのOCID
  oci_key_file: /home/user/.oci/oci_api_key.pem # API秘密鍵へのパス
  oci_compartment_id: ocid1.compartment.oc1..aaaaaa... # コンパートメントのOCID
  drop_params: true

model_list:
  - model_name: grok-4.20-reasoning
    litellm_params:
      <<: *oci_auth
      model: oci/xai.grok-4.20-reasoning
    model_info:
      max_tokens: 129000


general_settings:
  master_key: sk-1234567890 # 任意のマスターキー

使用可能なモデルのリストについては、OCI 公式ドキュメント を参照してください。

ここで指定する認証周りの情報は、OCI CLI を使うときに構築する情報と同じです。
詳細は、必要なキーとOCID を参照してください。

LiteLLM の起動

設定ファイルを指定して LiteLLM を起動します。

litellm --config .litellm/config.yaml

これで、http://0.0.0.0:4000 で OpenAI 互換の API が待ち受け状態になります。

image.png

3. OpenCode のプロバイダー設定

OpenCode に、先ほど構築した LiteLLM エンドポイントを「OpenAI 互換プロバイダー」として認識させます。

~/.config/opencode/opencode.json ファイルを作成し、以下の内容を記述します。

{
    "$schema": "https://opencode.ai/config.json",
    "provider": {
        "oci": {
            "npm": "@ai-sdk/openai-compatible",
            "options": {
                "baseURL": "http://0.0.0.0:4000/v1",
                "apiKey": "sk-1234567890"
            },
            "models": {
                "grok-4.20-reasoning": {
                    "name": "grok-4.20-reasoning"
                }
            }
        }
    }
}
  • baseURL: LiteLLM を起動しているアドレスを指定します。
  • apiKey: config.yaml で設定した master_key を入力します。
  • models: config.yamlmodel_name と一致させる必要があります。

4. 動作確認

設定完了後、OpenCode を起動して /connect を実行します。

  1. プロバイダーの選択で oci を選択します。
  2. API Key の入力を求められるので、LiteLLM で指定したキーを入力します。

正しく接続されると、OCI Generative AI 上のモデル(例:Grok 4.20 Reasoning)を使用して OpenCode を動かすことが出来ます。

image.png

まとめ

LiteLLM をゲートウェイとして活用することで、OpenCode のような OpenAI 互換 API を前提としたツールでも、OCI Generative AI を容易に組み込むことができます。

OCI では多様な LLM が提供されており、特に Grok などの強力なモデルをコーディングエージェントから利用できるのは大きなメリットです。
設定自体も非常にシンプルですので、興味のある方はぜひ試してみてください。

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?