Claude Sonnet 5 API
由 Anthropic 提供支持的 Claude Sonnet 5 LLM 模型完整 API 参考。
模型变体
此 API 支持两种 Claude Sonnet 5 模型变体:
快速比较
Claude Sonnet 5 文本到文本
端点
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 文件分析
端点
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
})
});
响应格式
Claude Sonnet 5 LLM 模型返回与 OpenAI 兼容的补全响应。使用 stream: true 时,响应为服务器发送事件;使用 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] 视为成功完成。
- 仅发送支持的输入: 当前客户端中的文本模型会忽略不支持的文件和图像部分。