Models
Cursor
Cursor は、チャットとエージェントのリクエストを任意の OpenAI 互換エンドポイントへ送れます。Grafilab に向ければ、モデルピッカーに Grafilab のモデルが加わり、料金は Grafilab のクレジット残高から引かれます。
- Cursor がインストール済みでサインインしていること。この上書き設定は
settings.jsonファイルではなく、Cursor 自身の設定画面にあります。
- A Grafilab API key. In the console open API (
https://app.grafilab.ai/api) and click Generate New Key — see API Keys.
キーには cursor という名前を付けておくと、使用状況ビューでエディタにかかっているコストがわかります。
モデル ID を選ぶ
Section titled “モデル ID を選ぶ”The model catalog is live, so list it rather than copying ids from a page. Every entry’s id is the exact string to use in any tool or SDK.
curl https://llm.grafilab.ai/v1/models \ -H "Authorization: Bearer $GRAFILAB_API_KEY" | jq -r '.data[].id'from openai import OpenAI
client = OpenAI(api_key="sk-grafilab-...", base_url="https://llm.grafilab.ai/v1")for model in client.models.list(): print(model.id)import OpenAI from "openai";
const client = new OpenAI({ apiKey: "sk-grafilab-...", baseURL: "https://llm.grafilab.ai/v1" });for await (const model of client.models.list()) { console.log(model.id);}The same ids appear as cards in the Playground, with context size and prices.
Cursor は入力した文字列をそのまま model フィールドとして送るため、カタログの id と 1 文字も違わず一致している必要があります。
Cursor を Grafilab に接続する
Section titled “Cursor を Grafilab に接続する”-
Ctrl+Shift+J(Windows と Linux)またはCmd+Shift+J(macOS)で Cursor Settings を開き、サイドバーの Models を選びます。このページには Cursor が知っているモデルプロバイダーが並んでいます。 -
プロバイダー一覧から OpenAI を探し、OpenAI API Key フィールドに Grafilab のキーを貼り付けます。キーは OpenAI のものではありませんが、上書きしたエンドポイントに対しても Cursor はこのフィールドを使います。
-
Override OpenAI Base URL をオンにして、ベース URL を正確に入力します。
https://llm.grafilab.ai/v1/chat/completionsは付けないでください。パスは Cursor 自身が追加します。 -
Verify(Cursor のバージョンによっては Save)を選びます。Cursor は入力したベース URL に対して
GET /v1/modelsを呼び出し、緑色の確認表示が出れば URL とキーの両方が正しく動いています。 -
Add model を選び、
GET /v1/modelsが返したとおりの Grafilab モデル ID を入力して確定します。ピッカーに出したいモデルの数だけ繰り返します。 -
同じ一覧にある組み込みの OpenAI モデルをオフにします。1 つのカスタムキーが Cursor にとって「OpenAI」であるすべてのモデルに適用されるため、
gpt-*のエントリを有効なままにしておくと、Grafilab が提供していないモデルへリクエストが送られて404で失敗します。 -
Ctrl+L/Cmd+Lでチャットパネルを開き、モデルピッカーから Grafilab のモデルを選びます。
動作を確認する
Section titled “動作を確認する”チャットパネルで短いプロンプトを送ってみます。「reply with the word ok」程度で十分です。返答があれば、経路は端から端まで機能しています。
次に、そのトラフィックが本当に自分のものか確認します。コンソールで API を開き、cursor キーの View Usage を選んで、今日のリクエストが記録されているか確かめてください。使用状況の集計は 30 分ほど遅れることがあるので、結論を出す前に少し待ちましょう。
Cursor 自身のモデルで動き続けるもの
Section titled “Cursor 自身のモデルで動き続けるもの”この構成に頼る前に、知っておく価値のあることが 2 つあります。
キーは Cursor を経由します。 Cursor は最終的なプロンプトを自社サーバー上で組み立てるため、Grafilab のキーを運ぶものも含めてすべてのリクエストは、あなたのマシンから llm.grafilab.ai へ直接ではなく Cursor のバックエンドを経由します。これは仕様どおりの動作であり、単独でローテーションできる専用キーを使うべき理由でもあります。
すべての機能が上書き設定に従うわけではありません。 Tab 補完はキーに関係なく Cursor 組み込みのモデルを使い続け、エージェントやインライン編集の一部の経路も同様です。チャットパネルは Grafilab を使いつつ、エディタの一部は引き続き Cursor に課金されると考えてください。
トラブルシューティング
Section titled “トラブルシューティング”| 症状 | 原因 | 対処 |
|---|---|---|
| Verify が無効なキーまたは接続エラーで失敗する | ベース URL に /v1 がない、または末尾のスラッシュやパスが付いている | 正確に https://llm.grafilab.ai/v1 に設定する |
メッセージ送信時に 404 | モデル ID がカタログのエントリと一致していない、または組み込みの OpenAI モデルが選ばれたまま | GET /v1/models で一覧を取り直して ID を入力し直し、組み込みモデルを無効にする |
すべてのリクエストで 401 | キーに余分な空白がある、またはコンソールでローテーションされた | API からキーを貼り直す。ローテーションされたキーは約 20 秒で使えなくなる |
上限に関するメッセージ付きの 429 | Grafilab のクレジット残高が空。スループット制限ではない | コンソールでチャージする |
| チャットは動くが Tab の候補が変わらない | 想定どおり。Tab は上書き設定を使わない | 対処不要 |

