Giải thích yêu cầu đầu tiên của bạn
Hướng dẫn từng dòng của một lệnh gọi Messages — chức năng của từng trường và dữ liệu trả về.
Hướng dẫn bắt đầu nhanh giúp bạn nhận được phản hồi. Trang này giải thích ý nghĩa của từng phần để bạn có thể tự viết yêu cầu tiếp theo.
Yêu cầu
curl https://aiprimetech.io/v1/messages \
-H "x-api-key: $CLAUDEAPIKEY" \
-H "anthropic-version: 2023-06-01" \
-H "content-type: application/json" \
-d '{
"model": "claude-sonnet-4-6",
"max_tokens": 1024,
"messages": [{"role": "user", "content": "Hello"}]
}'
| Trường | Bắt buộc | Chức năng |
|---|---|---|
model | có | Mô hình cần chạy. Phải khớp với một ID từ /v1/models một cách chính xác. |
max_tokens | có | Giới hạn tối đa cho đầu ra. Mô hình dừng khi chạm giới hạn này, ngay cả khi đang giữa câu. Đây là biện pháp kiểm soát chi phí, không phải mục tiêu cần đạt. |
messages | có | Cuộc hội thoại cho đến hiện tại, với nội dung cũ nhất đứng trước. Mỗi mục có một role (user hoặc assistant) và content. |
system | không | Các chỉ dẫn áp dụng cho toàn bộ cuộc hội thoại. Đây là trường cấp cao nhất, không phải một tin nhắn có role: system. |
temperature | không | 0–1. Giá trị càng thấp, kết quả càng có tính xác định. Để trống trừ khi bạn có lý do để thiết lập. |
stream | không | true trả về các sự kiện do máy chủ gửi thay vì một phần thân JSON duy nhất. Xem Truyền dữ liệu theo luồng. |
Phản hồi
{
"id": "msg_01ABC...",
"type": "message",
"role": "assistant",
"model": "claude-sonnet-4-6",
"content": [{"type": "text", "text": "Hello! How can I help?"}],
"stop_reason": "end_turn",
"usage": {"input_tokens": 9, "output_tokens": 12}
}
contentlà một mảng, không phải một chuỗi. Văn bản nằm tạicontent[0].text. Xử lý nó như một chuỗi là lỗi phổ biến nhất ở ứng dụng khách.stop_reasoncho biết lý do quá trình sinh kết thúc:end_turn(đã hoàn tất),max_tokens(đã chạm giới hạn bạn đặt — câu trả lời bị cắt ngắn),stop_sequence, hoặctool_use.usagelà căn cứ tính phí cho bạn. Hãy ghi lại giá trị này; đây là cơ sở đáng tin cậy duy nhất để phân bổ chi phí.
Nếu
stop_reason là max_tokens, câu trả lời của bạn đã bị cắt ngắn. Hãy tăng max_tokens hoặc yêu cầu câu trả lời ngắn hơn — đừng thử lại một cách mù quáng, vì bạn cũng phải trả phí cho phần đầu ra bị cắt ngắn.Hội thoại nhiều lượt
API không lưu trạng thái. Để tiếp tục cuộc hội thoại, bạn gửi lại toàn bộ lịch sử, bao gồm các câu trả lời trước đó của mô hình:
{
"model": "claude-sonnet-4-6",
"max_tokens": 1024,
"messages": [
{"role": "user", "content": "What is the capital of France?"},
{"role": "assistant", "content": "Paris."},
{"role": "user", "content": "And its population?"}
]
}
Vì lịch sử được gửi lại ở mỗi lượt, số token đầu vào tăng theo độ dài cuộc hội thoại và chi phí cũng tăng theo. Đây là lý do các phiên tác nhân kéo dài trở nên tốn kém. Lưu bộ nhớ đệm cho prompt và quản lý ngữ cảnh đều trực tiếp giải quyết vấn đề này.