エンドポイント
POST https://omniakey.com/v1/chat/completions
このエンドポイントはOpenAI Chat Completions APIと完全に互換性があります。OpenAI互換SDKを使用するか、直接HTTPリクエストを行ってください。
リクエスト例
from openai import OpenAI
client = OpenAI(
api_key="your-omniakey-api-key",
base_url="https://omniakey.com/v1"
)
response = client.chat.completions.create(
model="claude-3-5-sonnet",
messages=[
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "フランスの首都はどこですか?"}
],
temperature=0.7,
max_tokens=256
)
print(response.choices[0].message.content)
レスポンス
{
"id": "chatcmpl-abc123",
"object": "chat.completion",
"created": 1709251200,
"model": "claude-3-5-sonnet",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "フランスの首都はパリです。"
},
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 25,
"completion_tokens": 8,
"total_tokens": 33
}
}
ストリーミング
Server-Sent Events(SSE)を介してリアルタイムで部分的なレスポンスを受信するには、ストリーミングを有効にしてください:
stream = client.chat.completions.create(
model="claude-3-5-sonnet",
messages=[{"role": "user", "content": "物語を聞かせて。"}],
stream=True
)
for chunk in stream:
if chunk.choices[0].delta.content is not None:
print(chunk.choices[0].delta.content, end="")
ストリーミングレスポンス形式
各SSEイベントにはJSONチャンクが含まれます:
data: {"id":"chatcmpl-abc123","object":"chat.completion.chunk","choices":[{"index":0,"delta":{"content":"フランス"},"finish_reason":null}]}
data: {"id":"chatcmpl-abc123","object":"chat.completion.chunk","choices":[{"index":0,"delta":{"content":"の首都"},"finish_reason":null}]}
data: {"id":"chatcmpl-abc123","object":"chat.completion.chunk","choices":[{"index":0,"delta":{},"finish_reason":"stop"}]}
data: [DONE]
リクエストパラメータ
使用するモデルID。例:claude-3-5-sonnet、claude-3-5-haiku、codex。完全なリストは対応モデルを参照してください。
会話のメッセージリスト。各メッセージにはrole(system、user、assistant)とcontent(文字列)があります。
サンプリング温度(0〜2)。高い値(例:0.8)は出力をよりランダムに、低い値(例:0.2)はより決定的にします。デフォルト:1。
trueの場合、Server-Sent Eventsを介して部分的なレスポンスが送信されます。デフォルト:false。
Nucleusサンプリングパラメータ。累積確率がtop_pに達するまでのトークンのみが考慮されます。デフォルト:1。
テキスト内の頻度に基づいてトークンにペナルティを与えます。範囲:-2.0〜2.0。デフォルト:0。
テキスト内に出現したかどうかに基づいてトークンにペナルティを与えます。範囲:-2.0〜2.0。デフォルト:0。
APIがそれ以上トークンを生成しなくなる最大4つのシーケンス。
各入力メッセージに対して生成するチャット補完の数。デフォルト:1。
対応モデル
| プロバイダー | モデル |
|---|
| Anthropic | claude-sonnet-4-20250514, claude-3-5-sonnet, claude-3-5-haiku, claude-3-opus |
| OpenAI | codex |
さらに多くのモデルを追加中です。