Chat Completions
統一された API を通じて、さまざまな AI モデルで会話応答を生成します。
Chat Completion の作成
POST https://aiberm.com/v1/chat/completions
1curl https://aiberm.com/v1/chat/completions \2-H "Content-Type: application/json" \3-H "Authorization: Bearer YOUR_API_KEY" \4-d '{5 "model": "gpt-4",6 "messages": [7 {"role": "system", "content": "You are a helpful assistant."},8 {"role": "user", "content": "What is the capital of France?"}9 ],10 "temperature": 0.711}'リクエストパラメータ
| パラメータ | 型 | 必須 | 説明 |
|---|---|---|---|
model | string | はい | 使用するモデルの ID |
messages | array | はい | メッセージオブジェクトの配列 |
temperature | number | いいえ | サンプリング温度(0〜2)。デフォルト: 1 |
max_tokens | integer | いいえ | 生成する最大トークン数 |
top_p | number | いいえ | ニュークリアスサンプリングのパラメータ |
stream | boolean | いいえ | レスポンスをストリーミングするかどうか |
メッセージのロール
メッセージには role と content を含める必要があります。
- system - アシスタントの振る舞い/人格を設定します
- user - エンドユーザーからのメッセージ
- assistant - AI の過去の応答
ストリーミング応答
ストリーミングを有効にすると、応答を段階的に受け取れます。
1from openai import OpenAI2 3client = OpenAI(4 api_key="YOUR_API_KEY",5 base_url="https://aiberm.com/v1"6)7 8stream = client.chat.completions.create(9 model="gpt-4",10 messages=[{"role": "user", "content": "Tell me a story"}],11 stream=True12)13 14for chunk in stream:15 if chunk.choices[0].delta.content:16 print(chunk.choices[0].delta.content, end="")ベストプラクティス
リクエストを最適化する
- コストを抑えるために
max_tokensを設定します - 適切な
temperatureを使います(事実ベースなら低め、創造的なら高め) - 振る舞いを誘導するためにシステムメッセージを含めます
- UX 向上のためにレスポンスをストリーミングします
Warning
各モデルのトークン上限に注意してください。長い会話では会話履歴の管理が必要になる場合があります。