Skip to content

OpenAI(GPT)

TL;DR

bash
ONGRID_OPENAI_API_KEY=sk-...
ONGRID_OPENAI_MODEL=gpt-5.4                 # default
ONGRID_OPENAI_BASE_URL=                     # optional; OpenAI-compatible relay

Provider id:openai。SDK アダプタ:OpenAI Chat Completions (eino-openai クライアント)。

OpenAI は レガシーデフォルト です —— 古い Ongrid デプロイメントは gpt-4ocfg.OpenAI.Modelcfg.LLM 下ではなくトップレベル構造体 フィールド)として焼き込んで出荷されていました。現行コードは後方互換の ためトップレベルフィールドを保持しています:

go
// internal/pkg/config/config.go:36
type Config struct {
    OpenAI         OpenAIConfig
    LLM            LLMConfig
    // ...
}

新規インストールはこのレガシーパスから ONGRID_OPENAI_API_KEY を読み ます。/settings/llm での operator 編集は新しい system_settings.llm.openai_* 行に書き込みます。resolver は両方を チェックし、プロバイダーごとの行が勝ちます。

環境変数

Varデフォルト注記
ONGRID_OPENAI_API_KEY空 = プロバイダーをカタログから除外
ONGRID_OPENAI_MODELgpt-5.4レガシー単一モデルつまみ。openai_default_model 行が空のときデフォルトモデルとして尊重される
ONGRID_OPENAI_BASE_URLhttps://api.openai.com/v1Azure / OpenAI 互換リレー用オーバーライド

「デフォルトモデル」のトリップワイヤー

OpenAI には 2 つのモデル関連設定キーがあります:

  • openai_model —— レガシーの単一モデル行。プロバイダーごと拡張に先行。
  • openai_default_model —— 新しい「カタログ内のデフォルトモデル」行、 他プロバイダーが使うものに合致。

resolver は新しい行を最初に試し、レガシーキーにフォールバック、その後 env にフォールバックします:

go
// internal/manager/biz/setting/llm.go:181
defaultModel, _, _ := r.svc.Get(ctx, model.CategoryLLM, pk.defaultModel)
if defaultModel == "" && pk.legacyModelKey != "" {
    legacy, _, _ := r.svc.Get(ctx, model.CategoryLLM, pk.legacyModelKey)
    defaultModel = strings.TrimSpace(legacy)
}

これが、2025 年に openai_model に書いた admin が 2026 年アップグレード 後にデフォルトを失わない理由です —— 読み込みパスがそれをまだ尊重します。

デフォルトカタログ

箱から出した状態のモデルピッカーは 3 つの GPT モデルを表示 —— cmd/ongrid/main.go:499 で配線:

go
Models: dedupeModels(firstNonEmpty(cfg.OpenAI.Model, "gpt-5.4"),
    "gpt-5.5", "gpt-5.4", "gpt-5.4-mini"),

dedupeModels は、設定済みデフォルトがリスト内で重複してしまった デプロイメント(一部の 2026-05 インストールに当たった gpt-5.4 / gpt-5.4 バグ)を治癒します。

BaseURL オーバーライド

OpenAI 互換リレー(Azure OpenAI、OpenRouter、ローカル llama.cpp の --api モード、vLLM)はすべて動きます —— ONGRID_OPENAI_BASE_URL をリレーの /v1 ルートのベースに設定。

bash
# Azure OpenAI
ONGRID_OPENAI_BASE_URL=https://<resource>.openai.azure.com/openai/deployments/<deployment>

# OpenRouter
ONGRID_OPENAI_BASE_URL=https://openrouter.ai/api/v1

# Local vLLM
ONGRID_OPENAI_BASE_URL=http://localhost:8000/v1

本物の OpenAI と並行して使う非 Azure リレーには Custom を使ってください

単一の ONGRID_OPENAI_BASE_URL つまみは、本物の OpenAI と OpenAI 互換 リレーを openai プロバイダースロット経由で同時に走らせられないことを 意味します。代わりに Custom を使ってください —— まさに これのための並行スロットです。

OpenAI をデフォルトにする

bash
ONGRID_LLM_DEFAULT_PROVIDER=openai

または /settings/llm → Default provider。

クセ

  • 関数呼び出し —— assistant メッセージ上のフラット tool_calls 配列。Ongrid ツール dispatcher はこの形を期待します。他プロバイダーの アダプタがこれに翻訳します。
  • ストリーミング —— OpenAI の data: [DONE] センチネルは eino アダプタ が消費します。プロバイダーに関わらず、Generate から単一の *schema.Message、または Stream から eino StreamReader を得ます。

関連