Bỏ qua đến nội dung chính

Making a request

📖 Nội dung bài học

Tóm tắt

Đã đến lúc bắt tay vào thực hành với Anthropic Python SDK và thực hiện request đầu tiên tới Claude thông qua Vertex AI. Chúng ta sẽ đi qua ba bước thiết yếu: cài đặt SDK, tạo client và thực hiện lệnh gọi API (API call) đầu tiên.

Cài đặt Anthropic Python SDK

Trước tiên, bạn cần cài đặt Anthropic SDK có hỗ trợ Vertex AI. Trong Jupyter notebook của bạn, hãy chạy lệnh magic này:

%pip install "anthropic[vertex]"

Phần [vertex] đảm bảo bạn có các thành phần cụ thể cần thiết để kết nối với nền tảng Vertex AI của Google Cloud.

Tạo một API Client

Tiếp theo, hãy import và tạo một instance client được thiết kế riêng cho Vertex AI:

from anthropic import AnthropicVertex

client = AnthropicVertex(region="global", project_id="your-project-id")
model = "claude-sonnet-4@20250514"

Bạn cần thay "your-project-id" bằng ID dự án Google Cloud thực tế của mình, bạn có thể tìm thấy ID này trong bộ chọn dự án của Google Cloud Console. Việc đặt model thành một biến giúp bạn không phải nhập đi nhập lại nhiều lần trong suốt notebook.

Hiểu về hàm Create

Cốt lõi của việc thực hiện request tới Claude là hàm create, hàm này yêu cầu ba tham số chính:

  • model - Tên của model Claude bạn muốn sử dụng.
  • max_tokens - Một giới hạn an toàn cho độ dài phản hồi (Claude sẽ không cố gắng đạt tới con số này, nó chỉ đơn giản là không vượt quá giới hạn đó).
  • messages - Lịch sử hội thoại bạn gửi cho Claude.

Hãy coi max_tokens như một ngân sách thay vì một mục tiêu. Nếu bạn đặt là 1000, Claude sẽ viết bất kỳ phản hồi nào mà nó thấy phù hợp, nhưng sẽ dừng lại nếu vượt quá 1000 token.

Hiểu về Messages

Messages đại diện cho cuộc hội thoại qua lại giữa bạn và Claude, giống như trong một ứng dụng chat:

Có hai loại message:

  • User messages - Nội dung do con người viết mà bạn muốn đưa vào Claude.
  • Assistant messages - Nội dung mà Claude đã tạo và gửi lại cho bạn.

Thực hiện request đầu tiên

Dưới đây là cách cấu trúc một request cơ bản:

message = client.messages.create(
    model=model,
    max_tokens=1000,
    messages=[
        {
            "role": "user",
            "content": "What is quantum computing? Answer in one sentence"
        }
    ]
)

Mỗi message là một dictionary với một role (có thể là "user" hoặc "assistant") và content (văn bản thực tế).

Trích xuất phản hồi

Khi bạn chạy request, bạn sẽ nhận về một đối tượng phản hồi phức tạp với nhiều metadata. Để chỉ lấy phần văn bản mà Claude đã tạo, hãy dùng:

message.content[0].text

Cách này giúp bạn có được kết quả đầu ra sạch sẽ, dễ đọc thay vì toàn bộ đối tượng phản hồi với tất cả các chi tiết kỹ thuật. Bạn sẽ sử dụng mô hình này thường xuyên khi làm việc với các phản hồi của Claude.

🔁 Bài học liên quan

📚 Nguồn & ghi nhận

Bài học có hữu ích không?

Góp ý / Báo lỗiPhát hiện sai sót hoặc có ý tưởng cải thiện?