Anthropic(Claude)
TL;DR
bash
ONGRID_ANTHROPIC_API_KEY=sk-ant-...
ONGRID_ANTHROPIC_MODEL=claude-sonnet-4-6 # default
ONGRID_ANTHROPIC_BASE_URL= # optional; relay / regional endpointProvider id:anthropic。SDK アダプタ:ネイティブ Anthropic Messages API (internal/pkg/llm/ 下の eino Anthropic クライアント経由)。
環境変数
| Var | デフォルト | 注記 |
|---|---|---|
ONGRID_ANTHROPIC_API_KEY | — | 空 = プロバイダーをカタログから除外 |
ONGRID_ANTHROPIC_MODEL | claude-sonnet-4-6 | per-call オーバーライドが無いとき使うモデル |
ONGRID_ANTHROPIC_BASE_URL | (Anthropic API デフォルト) | リレー / リージョナルエンドポイント用オーバーライド |
ONGRID_ANTHROPIC_MODELS | claude-opus-4-7,claude-sonnet-4-6,claude-haiku-4-5 | カンマ区切り。SPA ピッカーが表示するクローズドセット |
4 つすべてが初回起動時に SetIfAbsent で system_settings.llm.anthropic_* に seed されます —— 再起動は Settings UI 内の operator 編集を決して 上書きしません。
デフォルトカタログ
箱から出した状態で、モデルピッカーはこの 3 つの Claude モデルを表示 します:
claude-opus-4-7—— フロンティアモデル。限界精度がコストを上回る 難しい根本原因パスに使用。claude-sonnet-4-6—— デフォルト。コスト / 品質のバランス。チャット ピッカーが事前選択するもの。claude-haiku-4-5—— 安価。RCA Pass-2 構造化抽出器と translate 呼び出しに推奨 —— 短いプロンプト、短い返信、ツールループなし。
リストは SPA の /settings/llm ページか、起動時に ONGRID_ANTHROPIC_MODELS をオーバーライドして編集 してください。
BaseURL オーバーライド
bash
ONGRID_ANTHROPIC_BASE_URL=https://api.anthropic-relay.example.com/v1これを以下に使用します:
- 企業リレープロキシ(リクエストは依然あなたの Anthropic キーを使います —— リレーは透過的)。
- リージョナルエンドポイント —— Anthropic は今日複数リージョンを公表 していませんが、他プロバイダーとの対等性のためここにつまみがあります。
デフォルトのベース URL は cmd/ongrid/main.go:507 で配線されています:
go
BaseURL: firstNonEmpty(cfg.LLM.Anthropic.BaseURL, "https://api.anthropic.com/v1"),Anthropic をデフォルトにする
bash
ONGRID_LLM_DEFAULT_PROVIDER=anthropicまたは SPA から:/settings/llm → "Default provider" ラジオ。
default-provider つまみは、per-call プロバイダーが固定されていないときに Chat() が使うものを制御します(RCA worker、translate、何も選ばれて いないときのホームページチャット)。再起動なしで反映される動的デフォルト メカニズムは ルーティング を参照。
Per-call 選択
チャット UI のモデルピッカーは provider と model の両方をチャット送信 エンベロープに書き込みます。ルーター(RoutingChatModel.pick)が WithProvider(id) eino オプションを取ります:
go
resp, err := chatModel.Generate(ctx, msgs,
model.WithModel("claude-opus-4-7"),
llm.WithProvider("anthropic"),
)クセ
- Stop reasons —— Anthropic は独自の stop-reason 語彙(
end_turn、tool_use、max_tokens)を返します。Ongrid アダプタはこれらを eino 標準のFinishReasonにマップするので、下流コードは分岐する必要が ありません。 - Tool use —— Anthropic の tool-use API は OpenAI のフラット tool_calls 形ではなくコンテンツブロックを使います。アダプタが透過的に翻訳します。 プロバイダーに関わらず同じ書き方でツールを書きます。
- System messages —— Claude は先頭の
role:systemメッセージではなく、 単一のsystemパラメータ(文字列)を取ります。アダプタは送信前に 複数の system メッセージを\n\n区切りでマージします。