Claude Sonnet 5 API
เอกสารอ้างอิง API ฉบับสมบูรณ์สำหรับโมเดล LLM Claude Sonnet 5 ที่ขับเคลื่อนโดย Anthropic
รุ่นของโมเดล {#}
API นี้รองรับโมเดล Claude Sonnet 5 สองรุ่น:
การเปรียบเทียบอย่างรวดเร็ว
Claude Sonnet 5 Text to Text
จุดปลายทาง
POST /api/v1/chat/completions
พารามิเตอร์คำขอ
จำเป็น
การรองรับข้อความ
ไม่บังคับ
ตัวอย่างคำขอ
const response = await fetch('https://api.flaq.ai/api/v1/chat/completions', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Accept': 'text/event-stream',
'Content-Type': 'application/json'
},
body: JSON.stringify({
model: 'claude-sonnet-5-text-to-text',
messages: [
{
role: 'user',
content: 'Write a four-line modern poem about a programmer drinking coffee.'
}
],
stream: true,
max_tokens: 500,
top_p: 0.5,
top_k: 50
})
});
Claude Sonnet 5 File Analysis
จุดปลายทาง
POST /api/v1/chat/completions
พารามิเตอร์คำขอ
จำเป็น
การรองรับข้อความ
ไม่บังคับ
ตัวอย่างคำขอ
const response = await fetch('https://api.flaq.ai/api/v1/chat/completions', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Accept': 'text/event-stream',
'Content-Type': 'application/json'
},
body: JSON.stringify({
model: 'claude-sonnet-5-file-analysis',
messages: [
{
role: 'user',
content: [
{ type: 'text', text: 'Summarize the key points of this PDF.' },
{
type: 'file',
file: {
filename: 'gptproto.pdf',
file_data: 'https://tos.gptproto.com/resource/gptproto.pdf'
}
}
]
}
],
stream: true,
max_tokens: 1000,
top_p: 0.5,
top_k: 50
})
});
รูปแบบการตอบกลับ
โมเดล LLM Claude Sonnet 5 ส่งคืนการตอบกลับ completion ที่เข้ากันได้กับ OpenAI เมื่อใช้ stream: true การตอบกลับจะเป็น Server-Sent Events และเมื่อใช้ stream: false การตอบกลับจะเป็นออบเจ็กต์ JSON รายการเดียว
การตอบกลับสำเร็จ
data: {"id":"chatcmpl-...","object":"chat.completion.chunk","created":1710000000,"model":"claude-sonnet-5-file-analysis","choices":[{"index":0,"delta":{"role":"assistant"},"finish_reason":null}]}
data: {"id":"chatcmpl-...","object":"chat.completion.chunk","created":1710000000,"model":"claude-sonnet-5-file-analysis","choices":[{"index":0,"delta":{"content":"Here is a concise summary"},"finish_reason":null}]}
data: {"id":"chatcmpl-...","object":"chat.completion.chunk","created":1710000000,"model":"claude-sonnet-5-file-analysis","choices":[{"index":0,"delta":{},"finish_reason":"stop"}]}
data: {"id":"chatcmpl-...","object":"chat.completion.chunk","created":1710000000,"model":"claude-sonnet-5-file-analysis","choices":[],"usage":{"prompt_tokens":12,"completion_tokens":8,"total_tokens":20}}
data: [DONE]
การตอบกลับข้อผิดพลาด
event: error
data: {"error":{"message":"Authorization is empty","type":"invalid_request_error","code":"1001","param":null}}
แนวทางปฏิบัติที่ดีที่สุด
- ใช้ข้อความที่มีโครงสร้าง: ส่งประวัติการสนทนาผ่าน
messages[] แทนการรวมบริบททั้งหมดไว้ในพรอมต์เดียว
- เลือกรุ่นโมเดลที่เหมาะสม: ใช้ Text to Text สำหรับการให้เหตุผลและการเขียนด้วยข้อความเท่านั้น และใช้ File Analysis เมื่อต้องใช้ไฟล์หรือรูปภาพ
- ปรับพารามิเตอร์ Claude อย่างระมัดระวัง: รองรับ
top_p และ top_k ซึ่งสามารถเปลี่ยนความหลากหลายของเอาต์พุตได้
- ประมวลผลเหตุการณ์ SSE: ต่อท้าย
choices[0].delta.content สำหรับการแสดงผลแบบสตรีม และถือว่า data: [DONE] เป็นการเสร็จสิ้นที่สำเร็จ
- ส่งเฉพาะอินพุตที่รองรับ: โมเดลข้อความจะเพิกเฉยต่อส่วนไฟล์และรูปภาพที่ไม่รองรับในไคลเอ็นต์ปัจจุบัน