モデル一覧・検証状態・料金の更新¶
このページの対象読者
本ページは WebUI(管理画面)が参照するモデルカタログの保守手順 です。CLI / analysis-core で使うモデルやプロバイダの指定方法は CLI クイックスタート を参照してください。
正本は apps/api/src/services/model_catalog.json。新規作成・複製画面は
GET /admin/models?provider=... を同じhookで読み、料金APIと計算処理も同じデータを使う。
フロントエンドにモデル一覧や説明のコピーを追加しない。
モデルの追加¶
- provider / value(APIモデルID)の組を一意に追加する。label、description、available、deprecatedを記載する。
- verifiedは実API検証の証拠がなければfalse。falseでも選択可能で「動作未検証」と表示する。 #906 / #907の4モデルは指示に合わせunverified_labelを「動作未確認」とし、検証先を#912 / #913へ記載した。 trueへの変更にはverification_source(検証結果のURL)が必要。既存モデルも検証記録を移入していないためfalseから始める。
- priceは不明ならnull。既知ならUSD/100万テキストtokenのinput / output、source、checked_at、conditionsを記載する。 現行の旧単価は移行値でchecked_at=null。最新確認済みとは扱わない。
- 提供終了は行を消さずavailable=false、deprecated=trueにする。保存済み設定を表示し、再選択を案内する。
- APIのcatalog / pricingテストとadminのhook / componentテストを実行する。
新モデルの実API検証と一覧追加は別作業。schema、送信パラメーター、思考token、課金集計の検証は#912 / #913で追跡する。
動的一覧¶
Gemini / OpenRouter / LocalLLMは提供元一覧をカタログに合流する。未登録モデルはverified=false、price=null。 動的一覧に同じIDがあっても、カタログの廃止状態や検証結果は上書きしない。 Gemini / OpenRouterの取得失敗時はサーバーカタログを返し、discovery_warningを画面に表示する。 API自体に接続できない場合は再取得を案内する。新規作成も複製も取得中・失敗中の送信を止める。
推定料金¶
未知モデル・未知単価はnullで返す(無料の0と異なる)。保存済みの過去の推定値は書き換えない。 モデル名は価格検索前に正規化するが、未登録のsnapshotを任意に既知モデルへ推測しない。 valid_untilを過ぎた単価は不明に戻す。Gemini 3.8 Flashの導入価格は2026-12-31まで。 GPT-5.6の長文料金はリクエスト別token数が必要なため、累積入力が272,000を超えた場合は保守的に不明とする。 通常単価の概算であり、キャッシュ割引・追加サービス課金・契約割引は反映しない。
Azure¶
実際の接続先は既存の AZURE_CHATCOMPLETION_DEPLOYMENT_NAME が決める。
UIのモデル選択は固定で、OpenAIのカタログを流用しない。
表示用実モデル名は任意の AZURE_CHATCOMPLETION_MODEL_NAME。
推定に使う単価は AZURE_CHATCOMPLETION_INPUT_PRICE / AZURE_CHATCOMPLETION_OUTPUT_PRICE に
管理者が契約単価を設定する(USD/100万text token)。モデル名と両単価が揃わない、不正値の場合は料金不明。
これらは接続先を変更しない。OpenAI単価へのfallbackはない。