APIドキュメント
数分でOpenAI互換のフィルタリングなしAPIを開始しましょう。生成したglm APIキーを使用して、単一モデルのエンドポイントにリクエストを送信します。
認証 & ヘッダー
あなたの glm api key すべてのリクエストを認可します。 Authorization Bearer トークンとしてヘッダーを設定します。これは公式 OpenAI SDK で使用される標準的な方法であり、OpenAI 互換認証をサポートする任意のクライアントで動作します。Google またはメールでダッシュボードにサインアップすると、このキーが即時に提供されます。
キーを安全に保管してください。このキーはプリペイド残高へのフルアクセス権限を持ちます。紛失した場合は新しいキーを生成してください。古いキーは即座に無効になります。アカウントごとにアクティブなキーは1つだけ保持できます。
チャット完了エンドポイント
モデルにテキストメッセージを送信するには POST /v1/chat/completions エンドポイント。すべてのリクエストのベースURLは https://api.apiglm.com/v1. モデルIDを として指定する必要があります。 uncensored リクエストボディ内。このエンドポイントは標準的な会話ターンを処理し、生成されたテキストを返します。
各リクエストはプリペイド残高からトークンを消費します。エラーや拒否の場合、クレジットは課金されません。モデルはメッセージのシーケンスを受け入れ、コンテキストウィンドウ内でマルチターン会話が可能です。
curl https://api.apiglm.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "list the features"}]
}'
Models エンドポイント
利用可能なモデルとエンドポイント構成を確認するために、以下を呼び出す GET /v1/models. このエンドポイントはAPIが現在サポートしているモデルのリストを返します。接続を確認し、補完リクエストを送信する前にモデルIDを確認するために使用できます。クライアント構成のデバッグに役立ちます。
レスポンスには、モデルIDやowned_byフィールドなど、モデルに関するメタデータが含まれます。このエンドポイントはクレジットを消費しません。クライアントが正しいベースURLを指していること、および認証ヘッダーが有効であることを確認するために使用してください。
ストリーミング & SSE
リアルタイムのトークン出力を有効にするには、 stream: true リクエスト内。APIはServer-Sent Events (SSE)ストリームを返します。各チャンクには部分的なテキストデルタが含まれます。最終チャンクにはリクエストの完全なトークン使用統計が含まれます。
ストリーミングによりユーザーの体感レイテンシーを低減できます。アプリケーションはトークンが生成される際に表示できます。これは即時のフィードバックが期待されるチャットインターフェースに最適です。すべてのトークンが処理されるように、ストリームを正しく処理してください。
from openai import OpenAI
client = OpenAI(base_url="https://api.apiglm.com/v1", api_key="YOUR_KEY")
resp = client.chat.completions.create(
model="uncensored",
messages=[{"role": "user", "content": "Summarise this thread without softening it."}],
)
print(resp.choices[0].message.content)
Function Calling
関数呼び出しを有効にするために、リクエストにツールを定義します。モデルは、どの関数を呼び出すべきかとその引数を示す構造化 JSON を返します。これにより、アプリケーションはユーザーの意図に基づいてコードを実行できます。サポートされる機能には、ツール定義、ツール選択、厳密な出力フォーマットのための JSON モードが含まれます。
LLMをワークフローに統合するには、この機能を使用してください。リクエスト本文に関数スキーマを定義します。モデルはツール呼び出しのリストを返します。これらの呼び出しをコードで解析して外部アクションをトリガーします。これにより、複雑なマルチステップタスクが可能になります。
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.apiglm.com/v1", apiKey: process.env.API_KEY });
const resp = await client.chat.completions.create({
model: "uncensored",
messages: [{ role: "user", content: "Draft a villain monologue for my game." }],
});
console.log(resp.choices[0].message.content);
Parameters & Limits
コンテキストウィンドウはプロンプトと補完の合計で100,000トークンをサポートしています。リクエストごとの最大出力は16,000トークンです。設定 max_tokens 出力長を制御する。指定しない場合のデフォルトは2,048トークンです。変動性のために温度、top_p、シードを調整できます。
レートリミットはキーごとに1分間あたり300リクエストを許可します。同時実行数はキーあたり最大8に制限されます。リクエストボディは8 MB未満である必要があります。エラーは標準のHTTPステータスコードを返します。401は無効なキー、402は残高枯渇、429はレートリミット超過を示します。
ストリーミング
stream = client.chat.completions.create(
model="uncensored",
messages=[{"role": "user", "content": "Tell the story in second person."}],
stream=True,
)
for chunk in stream:
if chunk.choices and chunk.choices[0].delta.content:
print(chunk.choices[0].delta.content, end="", flush=True)よくある質問
APIのベースURLは?
ベースURLは HTTPS://api.apiglm.com/v1 です。チャット完了やモデルなど、すべてのエンドポイントはこのURLを基準としています。SDK設定またはHTTPクライアントでこのURLを使用してください。
ストリーミングレスポンスを処理するにはどうすればよいですか?
リクエストにstreamパラメータをtrueに設定してください。APIはSSEストリームを返します。各チャンクには部分的なテキストが含まれます。最終チャンクにはトークン使用量が含まれます。各チャンクを受信するたびに処理して、リアルタイムの出力を表示します。
レート制限を超えた場合どうなりますか?
APIは429ステータスコードを返します。キーあたり1分あたり300リクエスト、8つの同時リクエストに制限されています。レート制限ウィンドウがリセットされるまで待つか、リクエスト頻度を減らしてください。