APIコストクイックスタート:OpenAI互換エンドポイントで統合
クイックスタート:OpenAI互換エンドポイントで統合
無制限のLLM APIキーを入手し、数秒でテキストの送信を開始してください。このガイドでは、ベースURL、認証、およびOpenAI互換エンドポイントとの統合に必要な正確なリクエストをカバーしています。
前提条件:ベースURLと認証
APIキーの生成は「APIキーを取得」ページから開始します。Google、またはメールアドレスとパスワードでサインインすると、資格情報を即座に受け取ることができます。電話番号は必要ありません。
ベースURLを HTTPS://api.apicost.cc/v1 に設定してください。生成されたキーをAuthorizationヘッダーのBearerトークンとして使用してください。これは標準のOpenAI SDKクライアントと互換性があります。
アカウントごとにアクティブなキーは1つだけです。新しいキーは古いキーを置き換えます。プロンプトは学習に使用されません。
最初のリクエスト: シンプルなチャットCompletion
"uncensored" モデルを使用して /v1/chat/completions へ POST リクエストを送信します。messages 配列にユーザーメッセージを送信します。API はテキスト応答を返します。
各リクエストはトークン使用量に含まれます。入力トークンは100万トークンあたり$0.15、出力トークンは100万トークンあたり$0.50です。エラーと拒否は無料です。
リクエストボディは8 MB以下にしてください。1つのリクエストあたりの最大出力は16,000トークンです。
curl https://api.apicost.cc/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "What is the current price per million tokens?"}]
}'
リアルタイムのUI更新用のストリーミングレスポンス
ストリーミングを有効にするには、streamパラメータをtrueに設定します。APIは単一のJSONオブジェクトの代わりにServer-Sent Events (SSE)を返します。
各チャンクを解析してUIをリアルタイムで更新します。最後のチャンクにはリクエストの合計トークン使用量が含まれます。これはコストを正確に追跡するのに役立ちます。
ストリーミングはすべての標準的なパラメータをサポートします。必要に応じてリクエストを早期にキャンセルできます。サーバーは直ちに処理を停止します。
from openai import OpenAI
client = OpenAI(base_url="https://api.apicost.cc/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)
創造性の制御:temperature、top_p、seed
ランダム性を制御するためのtemperatureを調整します。低い値は応答をより決定論的にし、高い値は創造性を高めます。
top_pを調整して核サンプリングの範囲を制限します。seedを使用してデバッグ用に特定の出力を再現します。これらのパラメータはOpenAI APIと完全に同じように動作します。
これらの設定を組み合わせることで、ユースケースに合わせてモデルを調整します。コーディングタスクは通常、低いTemperatureを必要とします。クリエイティブなライティングには高い値が必要になる場合があります。
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.apicost.cc/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);
JSONモードと関数呼び出しによる構造化出力
厳密なJSON出力のためにresponse_formatをjson_objectに設定します。モデルはマークダウン形式なしで有効なJSONを返します。これはアプリケーションでデータを解析する場合に役立ちます。
関数呼び出しにより、リクエスト内でツールを定義できます。モデルはユーザー入力に基づいてこれらのツールを呼び出すことができます。tool_choiceを使用して、モデルがツールを呼び出すタイミングを制御します。
両方の機能は標準的なOpenAIスキーマに従います。1つのリクエストで複数のツールを定義できます。モデルはルーティングを自動的に処理します。
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)
コンテキストウィンドウとトークン制限の理解
コンテキストウィンドウは100,000トークンです。これは入力トークンと出力トークンを合わせたものです。これにより、コンテキストを失うことなく長いドキュメントを送信できます。
レート制限はキーごとに1分間あたり300リクエストです。同時に8つのリクエストを実行できます。これらの制限を超えると、429エラーが返されます。
コード内でエラーを適切に処理してください。401エラーはキーが無効であることを意味します。402エラーはクレジットがないことを意味します。継続するために暗号通貨でチャージしてください。
よくある質問
制限なしLLM APIの100万トークンあたりの料金は?
入力トークンは100万トークンあたり$0.15。出力トークンは100万トークンあたり$0.50。月額料金なしで、使用した分のみ課金されます。
標準的なOpenAI SDKを使用して接続できますか?
はい。ベースURLを HTTPS://api.apicost.cc/v1 に設定します。モデルIDは uncensored を使用します。temperatureやstreamなどの標準パラメータはすべて同じように動作します。
レート制限に達した場合どうなりますか?
429エラーが発生します。制限は1分あたり300リクエストです。8つの並列リクエストが可能です。数秒待ってから再試行してください。
数秒でキーを取得
サインアップしてキーをコピーし、ベースURLを更新するだけです。それだけのことです。