APIドキュメント&クイックスタート
このドロップインリプレースメントを既存のコードベースに組み込み、コンテンツフィルタなしでテキスト生成を開始して、数分でフィルタリングなしLLM APIを開始しましょう。
ベースURLと認証
ベース URL と単一の API キーを使用して接続します。エンドポイントは標準的なヘッダーを受け付けます。置き換えてください YOUR_API_KEY ダッシュボードの文字列を使用してください。
- ベースURL:
https://api.ollamaopenaicompatibleapi.com/v1 - モデルID:
uncensored
認証はベアートークンに依存します。ヘッダーに渡してください Authorization ヘッダー。これにより、OpenAI SDK互換クライアントとの互換性が確保されます。Googleまたはメール経由でキーを即座に生成できます。電話番号は不要です。
チャット完了エンドポイント
POSTリクエストを以下に送信 /v1/chat/completionsmessages配列とモデル名を含めてください。APIはプロンプトに基づいてテキスト出力を返します。これは標準パラメータを使用するプロバイダーであればどこでも動作します。
創造性のためのtemperatureを設定するか、精度のために低い値に保ちます。stop sequencesも定義できます。サーバーはリクエストを処理し、completionを返します。これはほとんどの統合におけるコアな相互作用です。
エラーは前払いクレジットを消費しないことを覚えておいてください。課金されるのは成功した完了のみです。これにより、デバッグフェーズ中に予算が保護されます。
curl https://api.ollamaopenaicompatibleapi.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "List the top 10 Linux kernel security patches from 2023"}]
}'
SSE経由のストリーミングレスポンス
streamをtrueに設定してストリーミングを有効にする stream: trueサーバーは生成されるたびにチャンクを送信します。これにより、知覚されるレイテンシが大幅に削減されます。リアルタイムで部分的な応答を受信します。
Server-Sent Eventsストリームを解析します。最終チャンクには使用統計が含まれます。これには入力と出力の両方のトークン数が含まれます。生成中にコストを動的に追跡できます。
この手法は、チャットインターフェースに適しています。ユーザーはテキストが単語ごとに表示されるのを見ます。完全なレスポンスを待つよりも、よりレスポンシブに感じられます。APIは接続の安定性を自動的に処理します。
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)
関数呼び出しとJSONモード
リクエストボディにツールを定義します。モデルは構造化データを出力できます。 response_format と {"type": "json_object"} 厳密なJSON用です。これにより、毎回解析可能な出力が保証されます。
ツール定義には名前、説明、パラメータが含まれます。モデルはどのツールを呼び出すかを選択します。関数を実行し、結果をフィードバックします。これにより複雑なエージェントワークフローが可能になります。
JSONモードでは自由テキスト生成が無効になります。モデルは指定されたスキーマに従う必要があります。データベースやAPIとの統合時に使用してください。構造化フィールドでのハルシネーションを減らせます。
from openai import OpenAI
client = OpenAI(base_url="https://api.ollamaopenaicompatibleapi.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)
レート制限とリクエストボディ
キーごとに1分間に300リクエスト。同時実行数は同時に8つのリクエストに制限されます。最大リクエストボディサイズは8 MBです。これは、テキスト中心のアプリケーションに適しています。
コンテキストウィンドウは合計100,000トークンを許可します。これにはプロンプトと補完の両方が含まれます。リクエストごとの最大出力は16,000トークンです。省略した場合 max_tokensデフォルトでは2,048になります。
429エラーを適切に処理します。レートリミットに到達したことを示します。クライアントコードに指数関数的バックオフを実装してください。これにより、スパイク時にサーバーに過度な負荷がかかるのを防ぎます。
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.ollamaopenaicompatibleapi.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);
認証エラーと制限
401ステータスは、APIキーが無効であることを意味します。誤字がないか確認するか、セッションの有効期限を確認してください。402ステータスは、クレジット不足を示します。暗号通貨でチャージしてサービスを引き続きご利用ください。
429ステータスはレート制限を示しています。1分あたり300リクエストを超えました。スループットを減らすか、キーをアップグレードしてください。APIは明確なエラーメッセージを返します。
クレジットは期限切れしません。いつでもチャージできます。最小チャージ額は$20です。大口チャージにはボーナスクレジットが適用されます。これによりプロジェクトが円滑に稼働し続けます。
FAQ
uncensored LLM API のベースURLは?
ベースURLは HTTPS://api.ollamaopenaicompatibleapi.com/v1 です。すべてのチャット完了リクエストにこのエンドポイントを使用してください。標準的な OpenAI SDK と互換性があります。
モデルはどのくらいのコンテキストウィンドウをサポートしていますか?
このモデルは100,000トークンのコンテキストウィンドウをサポートしています。これにはプロンプトトークンと補完トークンの両方が含まれます。リクエストごとの最大出力は16,000トークンです。
レート制限に達した場合どうなりますか?
429 HTTPステータスコードが返されます。これは1分あたりの300リクエストの制限を超えたことを意味します。数秒待ってからバックオフ(指数関数的待機)で再試行してください。