Anthropic: Claude Sonnet 4
Claude Sonnet 4 là mô hình của Anthropic dành cho lập trình và suy luận với đầu vào văn bản, hình ảnh và tệp. Hồ sơ được công bố bao gồm công cụ và điều khiển suy luận, cửa sổ ngữ cảnh 200,000 token cùng tối đa 64,000 token hoàn thành.
Về mô hình
Mô tả này trình bày khả năng của mô hình. Đầu vào, đầu ra và tùy chọn có trên Ailoot được liệt kê bên dưới cho phương thức đã chọn.
Claude Sonnet 4 là mô hình của Anthropic tập trung vào nhiệm vụ lập trình và suy luận. Hồ sơ triển khai được công bố nhận văn bản, hình ảnh, tệp và trả về văn bản. Hồ sơ liệt kê điều khiển suy luận và công cụ hàm, với cửa sổ ngữ cảnh 200,000 token cùng tối đa 64,000 token hoàn thành.
Mã và tài liệu với kết quả rõ ràng
Với công việc phần mềm, cung cấp mã nguồn liên quan, hành vi đã quan sát được và cách sửa mong muốn. Giữ ví dụ gây lỗi cùng đầu ra lỗi thực tế khi chúng quyết định việc chẩn đoán. Yêu cầu thay đổi tập trung và những phép kiểm tra cần thiết để đánh giá tác động.
Với phân tích tài liệu, ghi nhãn nguồn và nêu tiêu chí hoặc câu hỏi cần áp dụng. Phép so sánh có thể yêu cầu một phát hiện cho mỗi tiêu chí; nhiệm vụ trích xuất có thể xác định giá trị cần trả về và cách biểu diễn thông tin còn thiếu. Giữ nhãn nguồn để câu trả lời ngắn gọn vẫn gắn với tài liệu hỗ trợ nó.
Sử dụng bằng chứng hình ảnh có chủ đích
Xác định hình ảnh, trang hoặc trạng thái giao diện quan trọng và chi tiết cần kiểm tra. Ảnh chụp màn hình có thể hỗ trợ câu hỏi về nội dung hoặc hành vi nhìn thấy; ảnh tài liệu có thể bổ sung ngữ cảnh bố cục cho nội dung viết. Giữ nguồn liên quan sẵn có khi xem xét bất kỳ từ ngữ được trích xuất hoặc phần diễn giải nào.
Suy luận và công cụ ứng dụng
Hồ sơ liệt kê suy luận và công cụ hàm. Xác định các thao tác mà ứng dụng bao quanh mô hình có thể thực hiện và giữ những quan sát được trả về. Hành động được đề xuất và kết quả thực tế của nó giữ vai trò khác nhau trong quy trình; quan sát cung cấp bằng chứng cho bước tiếp theo.
Khi câu trả lời sẽ trở thành dữ liệu, nêu các trường và ý nghĩa của chúng, đồng thời đối chiếu bản ghi thực tế được trả về với nguồn. Với kết quả dành cho người đọc, yêu cầu kết luận và bằng chứng có ý nghĩa đối với kết luận đó. Chừa chỗ cho câu trả lời trong ngữ cảnh làm việc và giữ quyết định đã chốt cho các lượt về sau.
Sản phẩm Sonnet 4 hữu ích giữ phân tích hoặc thay đổi được đề xuất cùng tham chiếu nguồn và xác minh, cho phép bước tiếp theo tiếp tục từ một kết quả có thể kiểm tra.
Ailoot Ultra · OpenAI Chat POST /v1/chat/completions claude-sonnet-4-20250514-thinking
claude-sonnet-4-20250514-thinking
claude-sonnet-4-20250514-thinkingBắt đầu
Claude Sonnet 4 là mô hình của Anthropic dành cho lập trình và suy luận với đầu vào văn bản, hình ảnh và tệp. Hồ sơ được công bố bao gồm công cụ và điều khiển suy luận, cửa sổ ngữ cảnh 200,000 token cùng tối đa 64,000 token hoàn thành.
- Đầu vào được chấp nhận
- Văn bản
- Kết quả
- Văn bản
Có trên Ailoot · đầu vào & phương thức
Ailoot Ultra · OpenAI Chat POST /v1/chat/completions
- Đầu vào
text- Đầu ra
text- Định dạng đầu ra
- json hoặc SSE
| Trường | Loại | Yêu cầu | Giá trị & giới hạn | Mặc định |
|---|---|---|---|---|
Trườngmodel | Loạistring | Yêu cầuBắt buộc | Giá trị & giới hạn claude-sonnet-4-20250514-thinking | Mặc định— |
Trườngmessages | Loạimessage[] | Yêu cầuBắt buộc | Giá trị & giới hạn Số mục tối thiểu: 1 | Mặc định— |
Trườngmessages[].role | Loạistring | Yêu cầuBắt buộc | Giá trị & giới hạn Tùy thuộc vào mô hình | Mặc định— |
Trườngmessages[].content | Loạistring | Yêu cầuKhông bắt buộc | Giá trị & giới hạn Áp dụng khi: Hội thoại văn bản | Mặc định— |
Trườngstream | Loạiboolean | Yêu cầuKhông bắt buộc | Giá trị & giới hạn | Mặc địnhfalse |
Tổ hợp tư liệu đầu vào
Văn bản · Văn bản UTF8
messages[].content
Tham số phương thức và vòng đời
| Tham số | Hợp đồng |
|---|---|
Tham sốcontent_type | Hợp đồngapplication/json |
Tham sốrequired | Hợp đồngmodel, messages |
Tham sốmaterial_types | Hợp đồngtext |
Tham sốmessages | Hợp đồngMảng thông điệp có cấu trúc role/content |
Tham sốfile_material | Hợp đồngTài liệu UTF-8 thực tế được chèn nguyên dạng văn bản; không suy ra ID tệp |
Tham sốoptional_controls | Hợp đồngstream |
Tham sốcontrol_scope | Hợp đồngHội thoại văn bản; stream là giá trị boolean và mặc định là false. |
Tham sốoutput_modalities | Hợp đồngtext |
Tham sốhosted_operations | Hợp đồngfalse |
Tham sốmultimodal_input_binding | Hợp đồngnull |
Bí danh phương thức: /chat/completions
Vòng đời: synchronous_or_streamed
Gửi ID mô hình chính xác cùng messages.
Độ dài ngữ cảnh không phải giới hạn đầu ra.
Tệp văn bản có thể cung cấp nguyên văn nội dung; đầu vào hình ảnh, âm thanh hoặc đối tượng tệp cần có liên kết chính xác.
Bảng giá
Thông tin biểu giá không bổ sung tùy chọn yêu cầu. Các tham số được hỗ trợ nằm trong phương thức đã chọn.
- Chế độ nhanh
- Chưa chỉ định Khi chọn chế độ nhanh
- Chế độ Flex
- Chưa chỉ định Khi chọn chế độ flex
- Mức độ suy luận tối đa
- Chưa chỉ định Khi áp dụng mức điều chỉnh mặc định (default) cho mức độ suy luận tối đa
Mức phí Ailoot
Giá theo cấu hình
| Cấu hình | Biểu mức phí | Phí |
|---|---|---|
| Cấu hìnhGiá cơ sở cho token | Biểu mức phíMức phí cơ bản | Phí Đầu vào · Token đầu vào $0.006 / 1K token Đầu ra · Token đầu ra $0.03 / 1K token Đầu vào · Đọc bộ nhớ đệm $0.0006 / 1K token Đầu vào · Ghi bộ nhớ đệm $0.0075 / 1K token Đầu vào · Ghi bộ nhớ đệm, 1 giờ — / 1K token |
Ailoot tạm giữ một khoản ước tính trước yêu cầu. Sau khi có kết quả, phí cuối cùng được quyết toán theo mức sử dụng đo được. Việc quyết toán khi truyền luồng dùng bản ghi mức sử dụng cuối cùng. Cách hoạt động của cơ chế tạm giữ và quyết toán →
Ví dụ yêu cầu
Ailoot Ultra · OpenAI Chat
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model":"claude-sonnet-4-20250514-thinking","messages":[{"role":"user","content":"hello"}],"stream":false}')
Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/chat/completions \
-H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
--data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
r=json.loads(Path("result.json").read_text())
for x in r.get("choices",[]):
if x.get("message",{}).get("content"): print(x["message"]["content"])
PY_RESULT
from openai import OpenAI
import os
if not os.environ.get("AILOOT_API_KEY", "").strip(): raise SystemExit("Set AILOOT_API_KEY before making a request")
client=OpenAI(base_url="https://api.ailoot.ai/v1",api_key=os.environ["AILOOT_API_KEY"],max_retries=0)
result=client.chat.completions.create(model="claude-sonnet-4-20250514-thinking", messages=[{"role":"user","content":"hello"}], stream=False)
import base64, json
from pathlib import Path
def save_result(data, stem="result"):
# Keep every field, including usage, IDs, reasoning and tool requests.
Path(stem + ".json").write_text(json.dumps(data, ensure_ascii=False, indent=2), encoding="utf-8")
print(json.dumps(data, ensure_ascii=False, indent=2))
def save_blob(encoded, suffix, label):
raw = base64.b64decode(encoded, altchars=b"-_", validate=True)
ext = "png" if raw.startswith(b"\x89PNG\r\n\x1a\n") else "jpg" if raw.startswith(b"\xff\xd8") else "webp" if raw[:4] == b"RIFF" and raw[8:12] == b"WEBP" else suffix
file = Path(stem + "-" + label + "." + ext)
file.write_bytes(raw)
print("Saved", file)
for index, block in enumerate(data.get("content") or []):
print("Content", index, json.dumps(block, ensure_ascii=False))
for choice in data.get("choices") or []:
print("Choice", choice.get("index"), json.dumps(choice.get("message", choice.get("delta", {})), ensure_ascii=False))
for index, item in enumerate(data.get("output") or []):
print("Output", index, json.dumps(item, ensure_ascii=False))
if item.get("type") == "image_generation_call" and item.get("result"):
save_blob(item["result"], item.get("output_format") or "bin", "output-" + str(index))
for ci, candidate in enumerate(data.get("candidates") or []):
for pi, part in enumerate((candidate.get("content") or {}).get("parts") or []):
print("Candidate/part", ci, pi, json.dumps(part, ensure_ascii=False))
blob = part.get("inlineData") or part.get("inline_data")
if blob and blob.get("data"):
mime = blob.get("mimeType") or blob.get("mime_type")
suffix = {"image/png":"png", "image/jpeg":"jpg", "image/webp":"webp", "audio/wav":"wav", "audio/mpeg":"mp3", "video/mp4":"mp4"}.get(mime, "bin")
save_blob(blob["data"], suffix, "candidate-" + str(ci) + "-part-" + str(pi))
save_result(result.to_dict(mode="json"))
Nhận và lưu kết quả
Ailoot Ultra · OpenAI Chat
json hoặc SSE
Lưu tất cả kết quả đã hoàn tất
Lưu mọi phản hồi hoàn chỉnh, tệp và phần nội dung được trả về.
Giữ mọi phương án trả lời cùng nội dung, lệnh gọi công cụ và dữ liệu suy luận của phương án đó. Với SSE, ghép các phần thay đổi theo chỉ số phương án và công cụ, giữ lý do kết thúc cuối cùng cùng dữ liệu sử dụng.
Nếu cần kiểm tra phản hồi gốc
Giữ ID và header của yêu cầu, phản hồi. Không cung cấp URL chung để truy xuất tác vụ văn bản.
Trường phản hồi
| Trường | Loại |
|---|---|
Trườngchoices[].index | Loạiinteger |
Trườngchoices[].message.content | Loạistring|null |
Trườngchoices[].message.tool_calls | Loạitool_call[] |
Trườngchoices[].message.reasoning_content | Loạistring |
Trườngchoices[].message.reasoning_details | Loạiobject|array |
Trườngchoices[].finish_reason | Loạistring|null |
Trườngusage | Loạiobject |
Lỗi và bước tiếp theo
| Phản hồi | Điều kiện | Bước tiếp theo |
|---|---|---|
Phản hồi400 · invalid_request_error | Điều kiệnTrường bắt buộc, cách biểu diễn tài liệu hoặc giá trị tham số không hợp lệ | Bước tiếp theoSửa các trường được chỉ ra trước khi gửi yêu cầu tạo mới. |
Bí danh
Bí danh mô hình
Ailoot Ultra claude-sonnet-4-20250514-thinking
Bí danh đường dẫn phương thức
/chat/completions
ID gọi liên quan
FAQ · Anthropic: Claude Sonnet 4
- Có những đầu vào và kết quả nào?
POST /v1/chat/completions·claude-sonnet-4-20250514-thinking:text→text- Yêu cầu sử dụng những trường nào?
POST /v1/chat/completions·claude-sonnet-4-20250514-thinking:model,messages,stream- Áp dụng những giới hạn nào?
POST /v1/chat/completions·claude-sonnet-4-20250514-thinking:messages.min_items:1