การสร้างบทสนทนา
จุดเชื่อมต่อมาตรฐานสำหรับการสร้างบทสนทนา รองรับโมเดลหลักจาก OpenAI, Anthropic, Google และผู้ให้บริการอื่น ๆ รองรับการสนทนาหลายรอบ system prompt การส่งออกแบบสตรีม และการปรับแต่งพารามิเตอร์ หน้านี้อธิบายรูปแบบคำขอ โครงสร้างการตอบกลับ พารามิเตอร์ที่ใช้บ่อย และการจัดการข้อผิดพลาด
ข้อมูลอินเทอร์เฟซ
- Endpoint:
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": "สวัสดี! ฉันคือผู้ช่วย AI ของ OneMux..."
},
"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 Prompt
ใช้บทบาท 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 (แนะนำ เพื่อประสบการณ์การใช้งานที่ดียิ่งขึ้น) |