Tạo tin nhắn
Yêu cầu phản hồi mô hình theo định dạng /v1/messages gốc của Anthropic; BazaarLink định tuyến đến bất kỳ model được hỗ trợ nào, không chỉ riêng của Anthropic. Trỏ base_url của Anthropic SDK chính thức vào BazaarLink, mã hiện có vẫn hoạt động không cần sửa. Chấp nhận Authorization: Bearer hoặc header x-api-key theo quy ước của Anthropic SDK. Nếu model được giải quyết không phải Anthropic gốc, BazaarLink dịch minh bạch yêu cầu/phản hồi, giữ nguyên khối tool_use và ngữ nghĩa stop_reason khi có thể.
/api/v1/messagesXác thực
Authorizationbắt buộcAPI key dưới dạng bearer token trong header Authorization.
Body
modelbắt buộcModel cần dùng, có tiền tố nhà cung cấp, ví dụ "anthropic/claude-sonnet-4.6".
"anthropic/claude-sonnet-4.6"messagesbắt buộcMảng các tin nhắn hội thoại, ít nhất một. Mỗi tin nhắn có role (user/assistant) và content (chuỗi, hoặc mảng các khối nội dung như text/image/tool_use/tool_result).
max_tokensbắt buộcSố token tối đa mà phản hồi có thể tạo ra. Khác với các endpoint tương thích OpenAI, trường này bắt buộc trong định dạng Anthropic.
1024systemSystem prompt — một trường cấp cao nhất riêng biệt, không phải một tin nhắn trong mảng messages (một trong những khác biệt chính so với định dạng OpenAI).
streamtrue để phản hồi dạng luồng SSE (các sự kiện message_start / content_block_delta / message_delta / message_stop); bỏ qua hoặc false trả về một phản hồi JSON đơn.
temperatureNhiệt độ lấy mẫu — càng cao càng ngẫu nhiên, càng thấp càng xác định. Không được BazaarLink xác thực — chuyển tiếp nguyên trạng đến upstream. Nếu model được giải quyết không phải Anthropic gốc, cách xử lý trường này phụ thuộc vào lớp dịch của BazaarLink.
top_pNgưỡng lấy mẫu nhân (nucleus sampling). Không được BazaarLink xác thực — chuyển tiếp nguyên trạng đến upstream. Nếu model được giải quyết không phải Anthropic gốc, cách xử lý trường này phụ thuộc vào lớp dịch của BazaarLink.
top_kGiới hạn lấy mẫu trong K token có xác suất cao nhất. Không được BazaarLink xác thực — chuyển tiếp nguyên trạng đến upstream. Nếu model được giải quyết không phải Anthropic gốc, cách xử lý trường này phụ thuộc vào lớp dịch của BazaarLink.
stop_sequencesMảng chuỗi khiến việc tạo dừng lại. Không được BazaarLink xác thực — chuyển tiếp nguyên trạng đến upstream. Nếu model được giải quyết không phải Anthropic gốc, cách xử lý trường này phụ thuộc vào lớp dịch của BazaarLink.
toolsDanh sách định nghĩa tool mà model có thể gọi, theo định dạng Anthropic (name, description, input_schema). Không được BazaarLink xác thực — chuyển tiếp nguyên trạng đến upstream. Nếu model được giải quyết không phải Anthropic gốc, cách xử lý trường này phụ thuộc vào lớp dịch của BazaarLink.
tool_choiceKiểm soát việc model có/thế nào bị buộc gọi tool, ví dụ {type:"auto"}, {type:"any"}, {type:"tool", name:"..."}. Không được BazaarLink xác thực — chuyển tiếp nguyên trạng đến upstream. Nếu model được giải quyết không phải Anthropic gốc, cách xử lý trường này phụ thuộc vào lớp dịch của BazaarLink.
thinkingĐối tượng điều khiển extended thinking, ví dụ {type:"enabled", budget_tokens:2048}. Chỉ có ý nghĩa với model reasoning. Không được BazaarLink xác thực — chuyển tiếp nguyên trạng đến upstream. Nếu model được giải quyết không phải Anthropic gốc, cách xử lý trường này phụ thuộc vào lớp dịch của BazaarLink.
metadataMetadata yêu cầu, ví dụ {user_id:"..."}. Dùng để giám sát và phát hiện lạm dụng; không ảnh hưởng thanh toán. Không được BazaarLink xác thực — chuyển tiếp nguyên trạng đến upstream. Nếu model được giải quyết không phải Anthropic gốc, cách xử lý trường này phụ thuộc vào lớp dịch của BazaarLink.