Source: https://aiprimetech.io/vi/docs/getting-started/first-request/ [Trang chủ](/vi/) / [Tài liệu](/vi/docs/) / Giải thích yêu cầu đầu tiên của bạn # 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ề. Sao chép trang [ Xem dưới dạng Markdown](/vi/docs/getting-started/first-request.md) [ Hỏi ChatGPT](https://chatgpt.com/?q=Read%20https%3A//aiprimetech.io/docs/getting-started/first-request.md%20and%20answer%20questions%20about%20it.%20Start%20with%20a%20short%20summary.) [ Hỏi trong Claude](https://claude.ai/new?q=Read%20https%3A//aiprimetech.io/docs/getting-started/first-request.md%20and%20answer%20questions%20about%20it.%20Start%20with%20a%20short%20summary.) 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 ``` Copycurl 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](/vi/docs/api-reference/streaming/). ## Phản hồi ``` Copy{ "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} } ``` - content là một mảng, không phải một chuỗi. Văn bản nằm tại content[0].text. Xử lý nó như một chuỗi là lỗi phổ biến nhất ở ứng dụng khách. - stop_reason cho 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ặc tool_use. - usage là 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: ``` Copy{ "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](/vi/docs/guides/prompt-caching/) và [quản lý ngữ cảnh](/vi/docs/guides/context-management/) đều trực tiếp giải quyết vấn đề này. [API MessagesTài liệu tham khảo đầy đủ về các trường](/vi/docs/api-reference/messages/)[Truyền dữ liệu theo luồngPhản hồi theo từng token](/vi/docs/api-reference/streaming/)[Python SDKLệnh gọi tương tự trong Python](/vi/docs/sdks/python/) [TrướcURL cơ sở](/vi/docs/getting-started/base-urls/)[Tiếp theoTổng quan về API](/vi/docs/api-reference/overview/)