Quay lại blog

API & SDKHướng dẫn

Anthropic Python SDK với CheapTokens: Messages API

Cài đặt Anthropic Python SDK, trỏ base_url tới CheapTokens, gửi yêu cầu messages.create và đặt max_tokens.

Bởi CheapTokens TeamĐã xuất bản Đã cập nhật 3 phút đọc

Mã Python kết nối Anthropic SDK với CheapTokens qua base_url
Trên trang này
  1. Những gì bạn cần
  2. Cài đặt SDK
  3. Tạo client
  4. Yêu cầu đầu tiên
  5. max_tokens là bắt buộc
  6. Chuyển đổi mô hình
  7. Bước tiếp theo

Nếu mã của bạn đã dùng Anthropic Python SDK, bạn không cần viết lại để gọi một mô hình khác. CheapTokens nói cùng giao thức Anthropic Messages API, nên bạn chỉ đổi cấu hình client và giữ nguyên client.messages.create(...). Hướng dẫn này đưa bạn từ một thư mục trống đến một script in ra câu trả lời.

Những gì bạn cần#

  • Python 3.10 trở lên (yêu cầu của SDK).
  • Một API key CheapTokens. Nếu bạn chưa có, xem "API key là gì và cách lưu trữ an toàn".
  • Một số dư dùng chung cho mọi mô hình, và không có giờ cao điểm, nên cùng một script tốn cùng một chi phí vào bất kỳ thời điểm nào trong ngày.

Cài đặt SDK#

bash
pip install anthropic
export CHEAPTOKENS_API_KEY="your-key"

Giữ key trong một biến môi trường, không đặt trong tệp nguồn.

Tạo client#

Hai thiết lập khác với cấu hình Anthropic mặc định: key và base_url.

python
import os
import anthropic

client = anthropic.Anthropic(
    api_key=os.environ["CHEAPTOKENS_API_KEY"],
    base_url="https://api.cheaptokens.dev",
)

SDK tự nối thêm đường dẫn /v1/messages, nên base_url là host không có /v1. (Endpoint kiểu OpenAI, https://api.cheaptokens.dev/v1, là cái bạn dùng với OpenAI SDK; xem "Yêu cầu API đầu tiên với CheapTokens".)

Yêu cầu đầu tiên#

python
message = client.messages.create(
    model="deepseek-ai/DeepSeek-V4-Flash-0731",
    max_tokens=1024,
    messages=[
        {"role": "user", "content": "Explain what a token is in two sentences."}
    ],
)

print(message.content[0].text)
print(message.stop_reason, message.usage.input_tokens, message.usage.output_tokens)

Lấy model id từ tài liệu CheapTokens; id khác nhau giữa các nhà cung cấp. Ở đây chúng ta dùng DeepSeek-V4-Flash: cửa sổ ngữ cảnh 380K và tối đa 32.768 token trong một câu trả lời, phù hợp với câu trả lời dài và vòng lặp agent.

Câu trả lời nằm trong message.content, một danh sách các block; văn bản nằm trong block đầu tiên. usage cho biết lần gọi đã dùng bao nhiêu token đầu vào và đầu ra, đó là những gì bạn bị tính phí.

max_tokens là bắt buộc#

Khác với OpenAI API, messages.create sẽ không chạy nếu thiếu max_tokens. Nó giới hạn độ dài câu trả lời:

  • Quá thấp, câu trả lời sẽ bị cắt. Khi đó message.stop_reason là "max_tokens" thay vì "end_turn".
  • Với DeepSeek-V4-Flash bạn có thể đặt tới 32.768 cho câu trả lời dài như toàn bộ tệp hoặc báo cáo.
  • Bạn trả tiền cho token thực sự được tạo ra, không phải cho giới hạn bạn đặt.

Nếu câu trả lời dừng giữa câu, đọc "Tại sao câu trả lời của AI dừng giữa câu?" để có giải thích đầy đủ.

Chuyển đổi mô hình#

Chỉ chuỗi model thay đổi; phần còn lại của script giữ nguyên. Chọn theo tác vụ:

  • DeepSeek-V4-Flash: câu trả lời dài và vòng lặp agent, một mức giá vào mọi giờ, tối đa 32.768 token đầu ra.
  • GLM-5.3-Flash: trò chuyện hàng ngày và gọi lập trình giá rẻ, ngữ cảnh 390K, tối đa 8.192 token đầu ra.
  • MiniMax-M2.7: công việc agent và lập trình chi phí thấp, ngữ cảnh 180K, tối đa 8.192 token đầu ra.

Danh sách id khả dụng được trả về bởi GET https://api.cheaptokens.dev/v1/models, ví dụ zai-org/GLM-5.3-Flash và MiniMaxAI/MiniMax-M2.7.

Giá hiện tại trên 1M token cho MiniMax-M2.7 là $0.05 cho đầu vào và $0.15 cho đầu ra. MiniMax-M2.7 tổng cộng rẻ hơn OpenRouter, khi tính gộp cả đầu vào và đầu ra. Đây là chi phí của một yêu cầu với 2.000 token đầu vào và 500 token đầu ra trên từng mô hình, lấy trực tiếp từ bảng giá:

Mô hình Chi phí OpenRouter
GLM-5.3-Flash $0.00006 $0.00012
DeepSeek-V4-Flash $0.00008 $0.00017
MiniMax-M2.7 $0.00018 $0.0012

Tổng cộng 2.000 token đầu vào và 500 token đầu ra. Giá trên 1 triệu token là giá hiện hành và thay đổi cùng với biểu phí của chúng tôi; cột OpenRouter hiển thị giá tham chiếu cho cùng khối lượng công việc.

GLM-5.3-Flash và MiniMax-M2.7 tổng cộng rẻ hơn OpenRouter, khi tính gộp cả đầu vào và đầu ra.

Bước tiếp theo#

Tạo một key và chạy script trong phần Yêu cầu đầu tiên. Khi nó in ra câu trả lời, hãy đổi chuỗi model để so sánh các mô hình trên tác vụ của chính bạn.