cheapaimodel

Zed

OpenAI互換プロバイダーで、Zed AgentなどZedのAI機能からcheapaimodelのモデルを使います。

コピー

Zedでは、OpenAI互換サービスをsettings.jsonのlanguage_models.openai_compatibleにプロバイダーとして追加します。追加したプロバイダーは、Zed Agent、Inline Assistantなど、モデルを使うZedの機能で利用できます。

Zedの設定項目値
Base URLapi_urlhttps://api.cheapaimodel.ai/v1
APIキーLLM Providersの設定ページ、またはCHEAPAIMODEL_API_KEYコンソールのAPIキーページで取得したキー
モデルIDavailable_models[].nameglm-5.3、またはモデルカタログの任意のID

設定

プロバイダーを追加する

コマンドパレットからzed: open settings fileを実行し、プロバイダーを追加します。

~/.config/zed/settings.json
{
  "language_models": {
    "openai_compatible": {
      "cheapaimodel": {
        "api_url": "https://api.cheapaimodel.ai/v1",
        "available_models": [
          {
            "name": "glm-5.3",
            "display_name": "GLM-5.3",
            "max_tokens": CONTEXT_LENGTH
          }
        ]
      }
    }
  }
}

max_tokensはモデルのコンテキストウィンドウです。CONTEXT_LENGTHはモデルのページ(例:glm-5.3)に記載されているコンテキスト長に置き換えてください。available_modelsにはモデルIDごとにエントリーを1つずつ追加します。

キーを追加する

agent: open settingsを実行し、LLM Providersの中からcheapaimodelを探してキーを貼り付けます。Zedはキーをシステムのキーチェーンに保存します。代わりに、Zedを起動する環境でCHEAPAIMODEL_API_KEYを設定し、Zedを再起動しても構いません。

モデルを選ぶ

Agent Panelを開き、モデル選択のcheapaimodelの下にあるGLM-5.3を選びます。

Edit Predictionは別途設定が必要です。ZedのOpenAI互換Edit Predictionプロバイダーには/v1/completionsエンドポイントとFIM(fill-in-the-middle)モデルが必要ですが、cheapaimodelのモデルが対応しているのは/v1/chat/completionsと/v1/responsesだけです。Edit PredictionにはZetaなど、ほかのプロバイダーを引き続き使ってください。

よくある間違い

  • プロバイダーにAPIキーがないとZedに表示される。 キーはsettings.jsonからは読み込まれません。LLM Providersのページにキーを貼り付けるか、環境変数を設定してください。
  • 環境変数が無視される、または古いキーが使われ続ける。 Zedは、プロバイダーIDを大文字のスネークケースにして_API_KEYを付けた名前の環境変数を読み込みます。IDがcheapaimodelならCHEAPAIMODEL_API_KEYです。プロバイダー名を変えたら、変数名も合わせて変えてください。空でない環境変数はキーチェーンより優先されます。貼り付けたキーを使うには、変数を削除してZedを再起動してください。
  • プレーンテキストの本文fault filter abortとともに404が返る。 api_urlに/v1がありません。https://api.cheapaimodel.ai/v1に設定してください。
  • Invalid URL (POST /v1/chat/completions/chat/completions)とともに404が返る。 api_urlにエンドポイントのパスまで含まれています。/chat/completionsはZedが自動で付加するため、https://api.cheapaimodel.ai/v1だけを設定してください。
  • model_not_foundとともに503が返る。 nameはモデルカタログのモデルIDと正確に一致している必要があります。display_nameは表示名にすぎません。