APIMaster.ai

Hướng dẫn Claude API Python 2026 | APIMaster.ai

Cách sử dụng Claude API với Python. Các ví dụ hoàn chỉnh sử dụng Anthropic SDK và client tương thích OpenAI—chat, streaming, vision, và function calling—qua APIMaster.ai.

Hướng dẫn Claude API Python

Hướng dẫn này bao gồm cách sử dụng Claude API trong Python với cả Anthropic SDK gốc và client tương thích OpenAI. Tất cả các ví dụ đều hoạt động với APIMaster.ai—hãy thay thế base URL và API key của riêng bạn.

Cài đặt

pip install anthropic          # Anthropic SDK gốc
pip install openai             # Tương thích OpenAI (tùy chọn)

Thiết lập cơ bản

import anthropic

client = anthropic.Anthropic(
    api_key="YOUR_APIMASTER_KEY",
    base_url="https://apimaster.ai",  # Không có /v1 cho Anthropic SDK
)

Hoặc với OpenAI SDK (dễ hơn nếu bạn đã sử dụng OpenAI):

from openai import OpenAI

client = OpenAI(
    api_key="YOUR_APIMASTER_KEY",
    base_url="https://apimaster.ai/v1",
)

Lời gọi Claude API đầu tiên của bạn

import anthropic

client = anthropic.Anthropic(
    api_key="YOUR_APIMASTER_KEY",
    base_url="https://apimaster.ai",
)

message = client.messages.create(
    model="claude-sonnet-4-6",
    max_tokens=1024,
    messages=[
        {"role": "user", "content": "Giải thích sự khác biệt giữa list và tuple trong Python."}
    ],
)

print(message.content[0].text)

System Prompts

response = client.messages.create(
    model="claude-sonnet-4-6",
    max_tokens=512,
    system="Bạn là một kỹ sư Python cao cấp. Hãy ngắn gọn và sử dụng các ví dụ mã.",
    messages=[
        {"role": "user", "content": "Cách nhanh nhất để làm phẳng một danh sách lồng nhau là gì?"}
    ],
)
print(response.content[0].text)

Hội thoại nhiều lượt

conversation = []

def chat(user_message):
    conversation.append({"role": "user", "content": user_message})
    response = client.messages.create(
        model="claude-sonnet-4-6",
        max_tokens=1024,
        messages=conversation,
    )
    assistant_message = response.content[0].text
    conversation.append({"role": "assistant", "content": assistant_message})
    return assistant_message

print(chat("Decorator trong Python là gì?"))
print(chat("Bạn có thể cho tôi xem một ví dụ thực tế không?"))

Streaming Phản hồi

Streaming trả về các token khi chúng được tạo ra—trải nghiệm người dùng tốt hơn cho đầu ra dài:

with client.messages.stream(
    model="claude-sonnet-4-6",
    max_tokens=1024,
    messages=[{"role": "user", "content": "Viết một trình thu thập dữ liệu web Python sử dụng requests và BeautifulSoup."}],
) as stream:
    for text in stream.text_stream:
        print(text, end="", flush=True)
print()  # xuống dòng ở cuối

Vision: Phân tích Hình ảnh

Claude Sonnet và Opus hỗ trợ đầu vào hình ảnh (base64 hoặc URL):

import base64

with open("chart.png", "rb") as f:
    image_data = base64.standard_b64encode(f.read()).decode("utf-8")

response = client.messages.create(
    model="claude-sonnet-4-6",
    max_tokens=512,
    messages=[
        {
            "role": "user",
            "content": [
                {
                    "type": "image",
                    "source": {
                        "type": "base64",
                        "media_type": "image/png",
                        "data": image_data,
                    },
                },
                {"type": "text", "text": "Tóm tắt biểu đồ này hiển thị điều gì."},
            ],
        }
    ],
)
print(response.content[0].text)

Sử dụng Công cụ (Function Calling)

tools = [
    {
        "name": "get_weather",
        "description": "Lấy thời tiết hiện tại cho một thành phố",
        "input_schema": {
            "type": "object",
            "properties": {
                "city": {"type": "string", "description": "Tên thành phố"},
            },
            "required": ["city"],
        },
    }
]

response = client.messages.create(
    model="claude-sonnet-4-6",
    max_tokens=256,
    tools=tools,
    messages=[{"role": "user", "content": "Thời tiết ở Tokyo thế nào?"}],
)

# Kiểm tra xem Claude có muốn gọi một công cụ không
if response.stop_reason == "tool_use":
    tool_call = next(b for b in response.content if b.type == "tool_use")
    print(f"Công cụ: {tool_call.name}, Đầu vào: {tool_call.input}")

Sử dụng Bất đồng bộ

import asyncio
import anthropic

async def main():
    client = anthropic.AsyncAnthropic(
        api_key="YOUR_APIMASTER_KEY",
        base_url="https://apimaster.ai",
    )
    response = await client.messages.create(
        model="claude-sonnet-4-6",
        max_tokens=256,
        messages=[{"role": "user", "content": "Xin chào!"}],
    )
    print(response.content[0].text)

asyncio.run(main())

Xử lý Lỗi

import anthropic

try:
    response = client.messages.create(
        model="claude-sonnet-4-6",
        max_tokens=256,
        messages=[{"role": "user", "content": "Xin chào"}],
    )
except anthropic.AuthenticationError:
    print("API key không hợp lệ")
except anthropic.RateLimitError:
    print("Giới hạn tốc độ—thêm logic thử lại")
except anthropic.APIStatusError as e:
    print(f"Lỗi API {e.status_code}: {e.message}")

Chọn Mô hình Claude Phù hợp cho Dự án Python

Tác vụ Mô hình Lý do
Chatbot, Hỏi đáp claude-haiku-4-5 Nhanh + rẻ
Sinh mã claude-sonnet-4-6 Cân bằng tốt nhất
Suy luận phức tạp claude-opus-4-8 Độ chính xác cao nhất
Phân tích tài liệu claude-sonnet-4-6 Ngữ cảnh 1M

Nhận Quyền truy cập Claude API

Các Câu hỏi Thường gặp

Làm thế nào để cài đặt thư viện Python cho Claude API? Chạy pip install anthropic cho SDK chính thức, hoặc pip install openai để sử dụng endpoint tương thích OpenAI của APIMaster với các mô hình Claude.

Tôi nên sử dụng Python SDK nào cho Claude API? SDK anthropic là lựa chọn chính thức và hỗ trợ tất cả các tính năng đặc thù của Claude (tool use, vision, streaming). SDK openai hoạt động thông qua lớp tương thích của APIMaster—hữu ích nếu bạn đã sử dụng OpenAI và muốn chuyển đổi mô hình.

Làm thế nào để stream phản hồi Claude API trong Python? Truyền stream=True với thư viện openai, hoặc sử dụng client.messages.stream() với SDK anthropic. Xem ví dụ streaming ở trên.

Claude API có hỗ trợ function calling (tool use) không? Có—Claude hỗ trợ tool use cả trong Anthropic SDK gốc và thông qua endpoint tương thích OpenAI của APIMaster bằng tham số tools tiêu chuẩn.

Kích thước cửa sổ ngữ cảnh tối đa cho Claude trong Python là bao nhiêu? Claude Sonnet 4.6 và Opus 4.8 hỗ trợ 1M token mỗi mô hình. Bạn có thể truyền trực tiếp các tài liệu rất dài trong mảng messages.

Đăng ký tại APIMaster.ai để nhận quyền truy cập Claude API thông qua một endpoint hợp nhất, với giá trực tiếp và dữ liệu xác minh dấu vân tay.

Xem thêm: Định giá Claude API · Cách lấy Claude API Key