GLM APIキー: トラブルシューティングガイド
あなたのGLM APIキーがエラーを返したり、お気に入りのエディタに統合できなかったりしますか?このガイドは、'Unauthorized'の応答からストリーミング解析エラーまで、最も一般的な構成の問題を解決し、無制限のLLM呼び出しが確実に機能することを保証します。
概要
- ベースURLとモデルIDがクライアント設定と完全に一致していることを確認し、'Unauthorized'または'Model Not Found'エラーを回避する。
- SSEを介したストリーミングレスポンスでは、使用データがすべてのメッセージチャンクに含まれないため、トークン使用のために最終チャンクを解析する必要があります。
- プリペイド暗号通貨モデルは、成功したトークン生成に対してのみ課金され、エラーと拒否は事実上無料となります。
- コンテキストウィンドウはプロンプトと補完を組み合わせるため、100kの制限は入力トークンと出力トークンの両方を注意深く考慮する必要があることを意味します。
なぜキーが'Unauthorized'を返すのか
'Unauthorized'エラーは通常、設定されたAPIキーとベースURLエンドポイントの不一致に起因します。ZedやTraeなどのエディタに新しいLLMを統合する際は、ベースURLが汎用プロキシではなく、プロバイダのチャット完了エンドポイントを直接指していることを確認する必要があります。OpenAI互換クライアントを使用する場合、当社のサービスのベースURLは HTTPS://api.apiglm.com/v1 です。間違ったURLや期限切れのキーを渡すと、すぐにこの401レスポンスがトリガーされます。
もう一つの一般的な原因は、キーを間違ったヘッダー形式で送信することです。一部のクライアントは 'Authorization: Bearer ' を期待しますが、他のクライアントは入力フィールドを誤解する可能性があります。Googleまたはメールでサインインした後、ダッシュボードに表示されるのとおりにキーが正確にコピーされていることを確認してください。電話番号の確認ステップはないため、キーが有効であれば、標準的なOpenAI SDKの実装のどこでも機能するはずです。
- ベースURLが/v1で終わることを確認してください。
- URL文字列に末尾のスラッシュが含まれていないことを確認する。
- キーが取り消されていないか、置き換えられていないことを確認します。
「思考ブロック」の問題の処理
推論重視のモデルを使用すると、モデルがタグを出力するだけで中身のない「思考」ブロックに遭遇することがあります。これは必ずしもコードのバグではなく、基盤となる無制限モデルのアーキテクチャの動作です。モデルは空白文字やnull文字のみを含む推論ブロックを出力する可能性があり、パーサーがこれを空の応答として解釈する場合があります。
これを処理するには、クライアントを構成して空の推論タグを無視するか、処理前に空白を削除してください。カスタム推論トランスフォーマーを使用している場合は、これらのエッジケースを正しく処理していることを確認してください。モデルは直接的な回答にチューニングされているため、過度な思考ブロックは、より直接的な応答を促すために'temperature'や'top_p'パラメータを調整する必要があることを示す場合があります。
これのデバッグには、生レスポンスバイトのログ記録が必要です。思考ブロックが存在するが空の場合、それをスキップして実際のコンテンツ生成に進むのが安全です。これにより、存在しないテキストを待機してアプリケーションがハングするのを防ぎます。
エディタでのベースURLの構成
ZedやClaude CodeなどのローカルエディタにUncensored LLMを統合するには、デフォルトの環境変数を上書きする必要があります。ほとんどのエディタはOpenAIのベースURLをデフォルトに設定しています。設定ファイルでベースURLをHTTPS://api.apiglm.com/v1に明示的に設定する必要があります。
.env.developmentまたはconfig.jsファイルの場合、APIキー変数が正しくマッピングされていることを確認してください。例えば、ベースURL変数をエンドポイントにポイントするように設定します。これにより、関数呼び出しやストリーミングを含むすべてのリクエストが当社のインフラストラクチャにルーティングされます。エディターがカスタムベースURLをサポートしない場合は、標準的なOpenAIプロトコルをエンドポイントに変換するプロキシまたはラッラスクリプトを使用する必要がある場合があります。
簡単な「ping」リクエストを送信して統合を検証します。有効なJSONレスポンスが返された場合、設定は正しいです。このステップは、複雑なマルチターン会話を試す前に重要です。
レート制限と同時実行数のエラー
当社のインフラストラクチャは、高負荷使用時の安定性を確保するために厳格なレート制限を適用します。各APIキーは1分あたり300リクエストに制限され、最大8つの同時リクエストを処理できます。これらの制限を超えると、429 Too Many Requests エラーが返されます。
これらのエラーを避けるには、クライアントコードで指数関数的バックオフを実装してください。利用可能な場合は、応答の'Retry-After'ヘッダーを監視してください。さらに、アプリケーションがピーク時にトラフィックの急増を起こさないようにしてください。複数のインスタンスを実行している場合は、異なるキー間で負荷を分散するか、アプリケーションレベルで同時実行数を管理してください。
リクエストボディのサイズも8 MBに制限されています。大きなプロンプトや多くのツール呼び出しはこの制限を超える可能性があります。入力を分割するか、同時実行数を減らしてこれらの制限内に収めてください。これらの制限は透明性があり、リソースの枯渇を防ぐために設計されています。
トークン数とコンテキストウィンドウ
トークン利用状況はコスト管理において重要です。当モデルはプロンプトと補完を合わせた 100,000 トークンのコンテキストウィンドウをサポートしています。1 リクエストあたりの最大出力は 16,000 トークン、または 'max_tokens' を指定しない場合は 2,048 トークンです。
料金は実際のトークン使用量に基づきます:入力トークンは100万トークンあたり$0.15、出力トークンは100万トークンあたり$0.50です。エラーや拒否は無料のため、正常に生成されたコンテンツに対してのみ課金されます。このプリペイドモデルではクレジットの有効期限は永久で、いつでも暗号通貨でチャージできます。
レスポンスメタデータを解析してアプリケーション内でトークン使用量を追跡します。ストリーミングレスポンスの最終チャンクには合計トークン数が含まれます。これにより、リアルタイムでコストを監視し、予算内に収まるようにプロンプトを調整できます。効率的なトークン使用は、前払いクレジットの価値を最大化する鍵です。
ストリーミングレスポンスの解析
ストリーミングレスポンスは Server-Sent Events (SSE) 経由で配信されます。各チャンクにはレスポンスの一部が含まれますが、トークン使用データは最終チャンクに含まれます。つまり、ストリームが完了するまで総トークン使用量を計算することはできません。
'data' イベントをリッスンしてストリームを解析します。テキストチャンクを累積して完全なレスポンスを形成します。最後のチャンクを受信したら、'usage' フィールドを抽出してローカルのトークンカウントを更新します。このアプローチにより、正確な請求が可能になり、リソース消費の監視に役立ちます。
ストリームが切断された場合はリクエストを再試行する必要があるため、ネットワークの中断を適切に処理します。クライアントが部分的なレスポンスを処理し、正しく再構築できることを確認してください。ストリーミングはリアルタイムアプリケーションに最適ですが、堅牢なエラー処理が必要です。
関数呼び出しのパラメータエラー
関数呼び出しには正確なパラメータ構成が必要です。'tools'配列が関数スキーマ(パラメータと説明を含む)を正しく定義していることを確認してください。'tool_choice'パラメータは'auto'、'required'、または特定の関数名に設定できます。
よくあるエラーには、ツールスキーマでの必須フィールドの不足またはデータ型の誤りなどが含まれます。構造化された出力を期待する場合は、クライアントが'response_format'を'json_object'として送信していることを確認してください。これにより、モデルがアプリケーションで解析可能な有効なJSONを返すことが保証されます。
まずはシンプルなツールで関数呼び出しをテストします。複雑さを徐々に増やして、スキーマの不一致がないか確認してください。モデルがツールを呼び出せない場合は、レスポンス内の 'tool_calls' フィールドのエラーを確認してください。信頼性の高い関数呼び出しには適切な設定が不可欠です。
暗号通貨チャージ遅延の修正
クレジットのチャージは暗号通貨、具体的にはUSDT (TRC20)またはUSDC (Base)経由で行われます。トランザクションはブロックチェーン上で確認に数分かかる場合があります。クレジットが直ちに表示されない場合は、ネットワークの確認を待ってください。
ボーナスクレジットは$50以上のチャージ時に自動的に適用されます:$50で+5%、$100で+10%、$200で+15%。正しいボーナスを得るためには正確な金額を送信してください。$20未満または$500超のトランザクションではボーナスが適用されないか、拒否される場合があります。
二重請求が発生した場合は、サポートページを通じてサポートに連絡してください。クレジットは返金されませんが、調整可能です。より迅速な解決のために取引IDの記録を保持してください。このプリペイドモデルにより、期限切れによるクレジットの損失を防ぐことができます。
モデルIDの誤設定
間違ったモデルIDを使用することはエラーの頻発する原因です。当社の無制限モデルの場合、IDは単に 'uncensored' です。'gpt-4' や 'claude-3' でリクエストを送信すると、「モデルが見つかりません」エラーが発生します。
クライアントは、OpenAI互換SDKが他のモデルにデフォルト設定される可能性があるため、すべてのリクエストで'model'フィールドを'uncensored'に明示的に設定する必要があります。設定ファイルとテストリクエスト内のモデルIDを確認してください。
当社のサービスはモデルルーティングや複数のモデル選択を提供しません。これは無制限テキスト生成に特化した単一モデルのエンドポイントです。このシンプルさは複雑さを減らし、一貫したパフォーマンスを保証します。本番環境へのデプロイ前にモデルIDを必ず確認してください。
よくある質問
GLM APIキーの取得方法
Googleまたはメールアドレスとパスワードを使用して、'APIキーの取得'ページでサインアップすることでAPIキーを生成できます。キーは作成直後に表示されます。電話番号は不要で、7日間有効な$0.50のトライアルクレジットが付与されます。
これは公式のGLM APIですか?
いいえ、私たちは無制限のOpenAI互換APIを提供する独立したプロバイダーです。それぞれのベンダーからの公式GLMモデルは提供していません。当社のサービスは、単一の無制限モデルによる高ボリューム・低レイテンシのテキスト生成のために設計された別個のインフラストラクチャです。
リクエスト中にエラーが発生した場合どうなりますか?
エラーは無料です。あなたは正常に生成され、レスポンスに返されたトークンのみに対して支払いを行います。レートリミット、ネットワークの問題、またはモデルのエラーによりリクエストが失敗した場合、そのトークンに対しては課金されません。
OpenAI SDKで独自のベースURLを使用できますか?
はい、ベース URL を HTTPS://api.apiglm.com/v1 に設定し、API キーを提供することで、あらゆる OpenAI 互換 SDK を構成できます。これにより、他のモデルに対して使用するのと同じクライアントコードを使用でき、ベンダーロックインを防ぎます。