JA ▾
API キーを取得

VS Code LLM API:エディターを独自のキーに接続

拡張機能にベースURL、APIキー、モデルIDの3つの値を入力することで、VS Codeを任意のOpenAI互換エンドポイントに接続できます。このページでは、これらの値の場所とテスト方法を解説します。

更新日:

ケーブルで光るサーバーキューブに接続された抽象的なコードエディター。VS Code LLM API接続を表します

主要ポイント

  • エディターをいじる前にcurlでキーをテストし、どちら側が壊れているかを確認してください。
  • ContinueやClineなどの拡張機能は、同じ3つの値(ベースURL、キー、モデルID)を要求します。
  • モデルIDにuncensoredを使用し、ベースURLはhttps://api.codingllmapi.com/v1 です。
  • このAPIはチャット完了のみを提供するため、個別の完了エンドポイントが必要な機能は動作しない場合があります。

開始前に必要なもの

VS Code 用 LLM APIの設定に魔法はありません。VS Code 自体は言語モデルと通信しません。拡張機能が通信し、その拡張機能はリクエストを送る先と、あなたを識別する方法を知る必要があります。カスタム OpenAI 互換プロバイダをサポートする拡張機能は、このサービスを利用できます。

まず、以下の3つの値を収集してください。

  • ベースURL: https://api.codingllmapi.com/v1
  • モデルID: uncensored
  • API キー:API キーページで作成します。サインアップ後、カード不要でワンクリックで7日間有効な$0.50の無料トライアルクレジットを受け取ることができます。

キーはAuthorization: Bearer <key>としてリクエストに含めます。拡張機能の設定にキーを貼り付けると、拡張機能が自動的にこのヘッダーを追加します。

ステップ1:エディター外でキーをテスト

拡張機能内でのデバッグはターミナルでのデバッグよりも時間がかかります。VS Codeでターミナルを開き(WindowsおよびLinuxではCtrl+`、macOSではCmd+`)、キーを環境変数に保存して、2つの呼び出しを実行します。1つ目はモデルの一覧を取得します。2つ目は小さなチャットリクエストを送信します。

export LLM_API_KEY="paste-your-key-here"

curl -s https://api.codingllmapi.com/v1/models \
  -H "Authorization: Bearer $LLM_API_KEY"

curl -s https://api.codingllmapi.com/v1/chat/completions \
  -H "Authorization: Bearer $LLM_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"uncensored","messages":[{"role":"user","content":"Reply with the word ready."}],"max_tokens":10}'

2つ目の呼び出しがメッセージを含むJSONを返す場合、キー、URL、モデルIDはすべて正しいです。その後に発生する問題は拡張機能の設定であり、アカウントの問題ではありません。ここで認証エラーが発生した場合は、キー全体をコピーしたか、余分な引用符やスペースが含まれていないか確認してください。

ステップ2:拡張機能を構成

拡張機能の設定はバージョンによって変更されるため、以下のフィールド名は参考として扱い、ラベルが異なる場合は拡張機能のドキュメントを確認してください。3つの値は常に同じです。

Continue

ContinueはVS CodeおよびJetBrains用のオープンソースアシスタントです。ホームディレクトリから設定ファイルを読み込みます。新しいバージョンではYAMLファイルを使用し、古いバージョンではconfig.jsonを使用します。モデルエントリには両方で同じフィールドが含まれます。JSON形式では次のようになります。

{
  "models": [
    {
      "title": "Uncensored",
      "provider": "openai",
      "model": "uncensored",
      "apiBase": "https://api.codingllmapi.com/v1",
      "apiKey": "paste-your-key-here"
    }
  ]
}

ワイヤーフォーマットがOpenAIの形式であるため、プロバイダーはopenaiです。apiBaseのみがContinueに異なるサーバーとの通信を指示します。保存後にウィンドウをリロードし、チャットパネルのドロップダウンからモデルを選択してください。

Cline

Clineはファイルの読み込み、編集、ターミナルコマンドの実行(承認後)ができるエージェント拡張機能です。設定を開き、OpenAI Compatibleというプロバイダーを選択してください。ベースURL、APIキー、モデルIDを入力します。https://api.codingllmapi.com/v1、キー、およびuncensoredを貼り付けてください。保存してタスクを開始し、最初のツール使用を承認してください。

その他の拡張機能

多くのツールは「カスタムエンドポイント」、「OpenAI互換」、「独自のキーを使用」などの名前で同じパターンに従っています。ベースURLを受け付けるフィールドを探してください。URLフィールドがなく、固定されたベンダーリストのみを提供する拡張機能では、このAPIをポイントできません。

動作するものとしないもの

このAPIはPOST /v1/chat/completionsおよびGET /v1/modelsを実装しています。これにより、チャットパネル、編集コマンド、コードの説明アクション、エージェントループがカバーされます。エディターが要求するすべての機能をカバーするわけではありません。

エディターの機能期待される結果
開いているファイルについてチャット動作する
コードを選択して編集を依頼動作する
ツール呼び出し付きのエージェントタスク拡張機能が標準のtoolsフィールドまたは独自のプロンプト形式を使用する場合に動作する
インラインタブ補完拡張機能による。補完用またはfill-in-the-middle用の個別のエンドポイントが必要な場合、このAPIはそれを提供していない
コードベースの埋め込みとインデックス作成埋め込みエンドポイントがないため、ここでは利用できません。別の埋め込みソースを使用するか、インデックス作成をオフにしてください
画像の入力または生成利用不可。このAPIはテキストのみ

拡張機能が上記の表にある機能で失敗する場合、API キーが間違っていると推測するのではなく、拡張機能の設定でその機能のみをオフにしてください。このモデルがプログラミング作業でどのようなものかの概要は、コーディングエージェント用の無検閲モデルのページをご覧ください。

拡張機能以外:エディターから実行するスクリプト

拡張機能はVS Codeからキーを使用する唯一の方法ではありません。多くの開発者は、ファイルを送信してモデルから回答を取得し、統合ターミナルから実行するか、タスクにバインドする小さなスクリプトをプロジェクトに保持しています。これにより、プロンプトを完全に制御でき、拡張機能の隠れた指示による予期せぬ動作を避けることができます。

以下は、渡されたファイルパスをレビューする短い Python スクリプトです。環境変数からキーを読み取るため、秘密がリポジトリに保存されることはありません。

import os
import sys
from openai import OpenAI

client = OpenAI(
    base_url="https://api.codingllmapi.com/v1",
    api_key=os.environ["LLM_API_KEY"],
)

path = sys.argv[1]
with open(path, encoding="utf-8") as f:
    source = f.read()

resp = client.chat.completions.create(
    model="uncensored",
    messages=[
        {"role": "system", "content": "Review the code. List bugs first, then style issues. Be brief."},
        {"role": "user", "content": source},
    ],
    temperature=0.2,
)
print(resp.choices[0].message.content)

python review.py src/app.pyで実行します。100,000トークンのコンテキストウィンドウ内であれば大きなファイルでも問題ありませんが、小さいプロンプトの方が応答が速く、コストも低くなります。回答を書きながら表示したい場合は、stream=Trueを渡して、到着するたびに各チャンクのdelta.contentを出力してください。

同じ考え方は、.vscode/tasks.jsonの VS Code タスクとしても機能します。現在のファイルを引数としてこのスクリプトを実行するコマンドを持つタスクを定義し、コマンドパレットからトリガーします。設定は少量で済み、結果はあなたが完全に理解できるレビューコマンドになります。

よくあるエラーの修正

ほとんどの問題は限られた数の原因に分類されます。このリストの上部から作業してください。

  1. 401 または「無効な API キー」。 キーの末尾にスペースが含まれて貼り付けられたか、異なるサイト用のキーを使用しています。新しいキーを作成し、再度貼り付けてください。
  2. 404 または「モデルが見つかりません」。モデル ID のスペルミス、またはベース URL に/v1が含まれていない、または2回含まれています。正しい ID はuncensoredです。サーバーが報告する内容を確認するには、/v1/modelsを呼び出してください。
  3. rate_limited を伴う 429。 1 分あたりのリクエスト制限を超えました:フルキーは 300、トライアルキーは 60 です。ループするエージェントはこの制限に達しやすくなります。待機して再試行するか、自動ステップの数を減らしてください。
  4. concurrency を伴う 429。 一度に送信されるリクエストが多すぎます:フルキーは 8、トライアルキーは 2 です。一部の拡張機能は 1 つのタスクに対して複数の呼び出しを同時に行います。ストリーミング応答は終了までスロットを保持するため、停止したストリームが新しい呼び出しをブロックする可能性があります。
  5. Retry-After: 5 ヘッダーを伴う 429。 一時的な過負荷です。拡張機能は 5 秒後に再試行すべきです。もし再試行しない場合は、手動で再試行してください。
  6. リクエストが大きすぎるとして拒否されました。 ボディの制限は 8 MB、コンテキストウィンドウはプロンプトと回答を合わせて 100,000 トークンです。多くのファイルを添付するエージェントはこの制限を超える可能性があります。コンテキストを狭めるか、会話をクリアしてください。

サポートに問い合わせる際は、X-Request-Id 応答ヘッダーの値を含めてください。curl -i で確認できます。

コストの可視性を維持する

エディタエージェントは大量のテキストを送信します。各ステップでは通常、ファイルとそれまでの履歴が含まれるためです。料金は入力トークン 100 万トークンあたり $0.15、出力トークン 100 万トークンあたり $0.50 で、単一リクエストのコストは小さく抑えられますが、ループでは累積します。

計算例:入力トークン30,000、出力トークン1,000のエージェントステップの場合、入力は 30,000 x $0.15 / 1,000,000 = $0.0045、出力は 1,000 x $0.50 / 1,000,000 = $0.0005 で、ステップあたり$0.005です。40ステップのタスクの場合、コストは$0.20になります。これは目安であり、実際のステップのサイズは異なるため、保証ではありません。

  • 呼び出し後のクレジット残高を確認するには、応答ヘッダーの X-Balance-USD を確認してください。
  • 新しいタスクは新しい会話で開始し、古い履歴がいつまでも残らないようにしてください。
  • 拡張機能にステップ数やリクエスト数の制限がある場合は設定してください。

クレジットは前払いなので、残高がなくなると使用が停止し、期限切れになりません。チャージは$20から$500まで整数額で行え、$50以上で5%、$100以上で10%、$200以上で15%のボーナスが付与されます。カード(Visa、Mastercard、Apple Pay、Google Pay)と暗号資産(TRC20 上の USDT、Base 上の USDC)が利用可能です。詳細は価格ページに記載されており、ドキュメントにはサポートされているすべてのパラメータがリストされています。

プライバシーと利用に関する注意

送信するコードはプロバイダーのサーバーに送信されるため、プロンプトに本番環境のキー、パスワード、顧客データなどの秘密情報を貼り付けないでください。このサービスのプロンプトはトレーニングには使用されません。このモデルは、成人による合法的な利用においてコンテンツの拒否なしで回答するようにチューニングされており、セキュリティテストやダークテーマのゲームスクリプトについて説教されることなく回答しますが、何を依頼するかはあなたの責任です。未成年者を含む性的コンテンツは常に禁止されています。

質問と回答

VS Code の GitHub Copilot でこの API を使用できますか?

Copilot は独自のサービスに紐付いているため、このキーでは代替できません。カスタムエンドポイントを受け付ける拡張機能(Continue や Cline など)を使用してください。

どのモデル ID を入力すればよいですか?

uncensored を入力してください。キーを使用して GET /v1/models を呼び出すことで確認できます。

エディタで接続失敗と表示されるのはなぜですか?

まず curl テストを実行してください。curl が動作する場合は、拡張機能の Base URL を再確認してください。末尾に /v1 があり、余分なスペースがないことを確認してください。

インライン自動補完は機能しますか?

拡張機能がそれ用にプレーンなチャット完了を使用できる場合のみです。この API には個別の完了エンドポイントがないため、拡張機能の自動補完設定を確認してください。

無料でテストする方法はありますか?

新規ユーザーはサインアップ後に API キーページで $0.50 の無料トライアルクレジットを取得できます。カードは不要で、7 日間有効、1 人あたり 1 回限りの制限があります。

キーはフォーム 1 つで手に入ります

アカウントを作成し、キーをコピーし、ベースURLを変更します。これでセットアップは完了です。

API キーを取得