チャット生成
OpenAI、Anthropic、Google などの主要モデルに対応した標準のチャット生成エンドポイントです。複数ターンの会話、システムプロンプト、ストリーミング出力、パラメーター調整をサポートしています。このページでは、リクエスト形式、レスポンス構造、よく使われるパラメーター、エラー処理について説明します。
インターフェース情報
- エンドポイント:
POST /v1/chat/completions - 認証:
Authorization: Bearer sk-xxx - プロトコル: OpenAI 互換形式
基本的な呼び出し
curl https://api.onemux.net/v1/chat/completions \
-H "Authorization: Bearer $ONEMUX_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-6.1-sol",
"messages": [{"role": "user", "content": "こんにちは、OneMux"}]
}'レスポンス例
{
"id": "chatcmpl-xxx",
"object": "chat.completion",
"model": "gpt-6.1-sol",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "こんにちは!OneMux AI アシスタントです..."
},
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 10,
"completion_tokens": 15,
"total_tokens": 25
}
}複数ターンの会話
messages 配列に履歴を時系列順で保存します:
response = client.chat.completions.create(
model="gpt-6.1-sol",
messages=[
{"role": "user", "content": "私の名前は小明です"},
{"role": "assistant", "content": "こんにちは、小明さん!"},
{"role": "user", "content": "私の名前は何ですか?"}
]
)
# AI は「あなたの名前は小明です」と回答しますシステムプロンプト
system ロールを使って AI の動作ルールを設定します:
messages = [
{"role": "system", "content": "あなたはプロの Python エンジニアです。簡潔かつ専門的に回答してください"},
{"role": "user", "content": "ファイルを読み込むにはどうすればよいですか?"}
]よく使われるパラメーター
| パラメーター | 説明 | 推奨値 |
|---|---|---|
| temperature | 創造性(0-2) | 0.7(デフォルト)。創作には 1.2、コード生成には 0.3 |
| max_tokens | 最大出力長 | 必要に応じて設定し、モデルの「冗長な回答」を避けます |
| top_p | 核サンプリング(0-1) | 0.9(デフォルト) |
| stream | ストリーミング出力 | true(推奨。より快適に利用できます) |