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

Image support

📖 Nội dung bài học

Tóm tắt

Khả năng nhìn của Claude cho phép bạn đưa hình ảnh vào tin nhắn và yêu cầu Claude phân tích, so sánh, đếm đối tượng hoặc thực hiện hầu hết mọi tác vụ trực quan mà bạn có thể tưởng tượng. Điều này mở ra những khả năng mạnh mẽ cho các ứng dụng, từ phân tích tài liệu đến đánh giá tự động.

Cơ bản về xử lý hình ảnh

Khi làm việc với hình ảnh trong Claude, bạn cần hiểu một vài giới hạn chính:

  • Tối đa 20 hình ảnh trên tất cả các tin nhắn trong một yêu cầu duy nhất
  • Kích thước tối đa 3,75MB
  • Chiều cao/chiều rộng tối đa 8000px
  • Mỗi hình ảnh được tính bằng một số token nhất định: tokens = (chiều rộng px × chiều cao px) / 750

Để đưa một hình ảnh vào, bạn thêm nó như một loại phần tin nhắn khác. Đối với mỗi hình ảnh bạn muốn gửi, bạn bao gồm một phần hình ảnh trong tin nhắn người dùng của mình. Cấu trúc trông như thế này:

with open("image.png", "rb") as f:
    image_bytes = f.read()

add_user_message(messages, [
    {
        "image": {
            "format": "png",
            "source": {"bytes": image_bytes}
        }
    },
    {"text": "Bạn thấy gì trong hình ảnh này?"}
])

Nhiều hình ảnh

Bạn có thể gửi nhiều hình ảnh trong một tin nhắn bằng cách thêm nhiều phần hình ảnh. Sau đó, Claude có thể phân tích mối quan hệ giữa các hình ảnh, so sánh chúng hoặc trả lời các câu hỏi yêu cầu hiểu nhiều đầu vào trực quan.

Kỹ thuật Prompting

Điều quan trọng nhất cần hiểu về khả năng nhìn của Claude là tất cả các kỹ thuật prompt engineering tương tự đều áp dụng cho hình ảnh. Bạn có thể tăng đáng kể độ chính xác về hình ảnh của Claude bằng cách cung cấp hướng dẫn, các bước phân tích hoặc sử dụng các ví dụ one-shot/multi-shot.

Ví dụ, thay vì chỉ hỏi "Có bao nhiêu viên bi trong hình ảnh này?", bạn có thể cung cấp một phương pháp có cấu trúc:

Phân tích hình ảnh những viên bi này và xác định số lượng chính xác bằng phương pháp sau:
1. Bắt đầu bằng cách xác định từng viên bi riêng biệt một lần. Gán cho mỗi viên một số khi bạn xác định nó.
2. Xác minh kết quả của bạn bằng cách đếm theo một phương pháp khác. Bắt đầu từ góc dưới cùng bên trái và làm việc theo từng hàng, từ trái sang phải.
Số lượng bi chính xác, đã xác minh trong hình ảnh này là bao nhiêu?

Một kỹ thuật hiệu quả khác là prompting one-shot, trong đó bạn cung cấp một hình ảnh ví dụ với phân tích chính xác trước khi yêu cầu Claude phân tích hình ảnh mục tiêu của bạn:

Ví dụ thực tế: Đánh giá rủi ro cháy nổ

Một ứng dụng thực tế của khả năng nhìn của Claude là đánh giá rủi ro cháy nổ tự động cho các công ty bảo hiểm. Thay vì cử thanh tra đến từng địa điểm, các công ty có thể sử dụng hình ảnh vệ tinh có độ phân giải cao và yêu cầu Claude đánh giá rủi ro cháy nổ.

Hệ thống có thể phân tích một số yếu tố chính:

  • Cây cối dày đặc, gần nhau gần nơi cư trú
  • Lối vào khó khăn cho xe cứu hỏa
  • Cành cây phủ lên nơi cư trú
  • Mật độ cây và khoảng cách tổng thể

Đây là cách bạn có thể cấu trúc một phân tích như vậy:

with open('./images/prop7.png', 'rb') as f:
    image_bytes = f.read()

messages = []

add_user_message(messages, [
    {"image": {"format": "png", "source": {"bytes": image_bytes}}},
    {"text": prompt}
])

response = chat(messages)

Chìa khóa thành công với loại phân tích hình ảnh phức tạp này là cung cấp các prompt chi tiết, có cấu trúc hướng dẫn Claude qua các bước phân tích cụ thể thay vì yêu cầu một đánh giá đơn giản.

Hãy nhớ: khi làm việc với hình ảnh, đừng rơi vào cái bẫy sử dụng các prompt đơn giản. Áp dụng các kỹ thuật prompt engineering tương tự mà bạn đã học cho các tương tác dựa trên văn bản để cải thiện đáng kể độ chính xác của phân tích hình ảnh của Claude.

Tải xuống

🔁 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?