加载中

Claude 的视觉能力允许您在消息中包含图像,并要求 Claude 分析、比较、计数对象,或执行您能想到的几乎任何视觉任务。这为从文档分析到自动化评估等各种应用开辟了强大的可能性。

图像处理基础

在 Claude 中使用图像时,您需要了解一些关键限制:

  • 单个请求中所有消息最多可包含 20 张图像
  • 最大尺寸为 3.75MB
  • 最大高度/宽度为 8000px
  • 每张图像按一定数量的令牌计算:tokens = ⌈width / 28⌉ × ⌈height / 28⌉

要包含图像,您需要将其添加为另一种类型的消息部分。对于您想发送的每张图像,您需要在用户消息中包含一个图像部分。其结构如下所示:

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

add_user_message(messages, [
    {
        "image": {
            "format": "png",
            "source": {"bytes": image_bytes}
        }
    },
    {"text": "What do you see in this image?"}
])

多张图像

您可以通过添加多个图像部分在单条消息中发送多张图像。Claude 随后可以分析图像之间的关系、比较它们,或回答需要理解多个视觉输入的问题。

提示技巧

关于 Claude 视觉能力最重要的一点是,所有相同的提示工程技巧都适用于图像。您可以通过提供指导方针、分析步骤,或使用单样本/多样本示例,显著提高 Claude 的视觉准确性。

例如,与简单地问"这张图片中有多少颗弹珠?"不同,您可以提供一种结构化的方法:

Analyze this image of marbles and determine the exact count using this methodology:
1. Begin by identifying each unique marble one at a time. Assign each a number as you identify it.
2. Verify your result by counting with a different method. Start from the bottom-left corner and work row by row, from left to right.
What is the exact, verified number of marbles in this image?

另一种有效的技巧是单样本提示,即在要求 Claude 分析您的目标图像之前,先提供一个带有正确分析的示例图像:

真实案例:火灾风险评估

Claude 视觉能力的一个实际应用是为保险公司进行自动化火灾风险评估。公司无需派遣检查员到每个物业,而是可以使用高分辨率卫星图像,并要求 Claude 评估火灾风险。

该系统可以分析几个关键因素:

  • 住宅附近密集、紧密排列的树木
  • 应急车辆难以通行的通道
  • 悬垂在住宅上方的树枝
  • 整体树木密度和间距

以下是您可能如何构建此类分析的方式:

python
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)

成功进行这种复杂视觉分析的关键在于提供详细、结构化的提示,引导 Claude 完成特定的分析步骤,而不是要求进行简单的评估。

请记住:在处理图像时,不要陷入使用简单提示的陷阱。将您在基于文本的交互中学到的相同提示工程技巧应用于此,以显著提高 Claude 的视觉分析准确性。