Claude视觉功能指南

Claude 3 系列模型带来了新的视觉能力,使 Claude 能够理解和分析图像,为多模态交互开启了令人兴奋的可能性。您可以同时提供文本和图像输入,以丰富您的对话并实现强大的新用例。

支持视觉的模型

所有 Claude 3 模型都能够理解和分析图像,无需使用特殊版本即可访问这些功能。

入门指南

目前,您可以通过以下三种方式利用 Claude 的视觉功能:

  1. 直接通过 claude.ai 聊天窗口:像上传文件一样上传图像,或将图像直接拖放到窗口中!
  2. 通过我们的 Console Workbench:选择接受图像的模型后,在每个 User 消息块右上角会出现添加图像的按钮。
  3. 通过 API 请求:请参阅下面的说明。

使用示例

在本指南中,我们将使用 Anthropic Python SDK 和以下示例变量。我们将使用 httpx 库从维基百科获取示例图像,但您可以使用任何适合您的图像源。

    
import anthropic
import base64
import httpx

client = anthropic.Anthropic()

image1_url = "https://upload.wikimedia.org/wikipedia/commons/a/a7/Camponotus_flavomarginatus_ant.jpg"
image1_media_type = "image/jpeg"
image1_data = base64.b64encode(httpx.get(image1_url).content).decode("utf-8")

image2_url = "https://upload.wikimedia.org/wikipedia/commons/b/b5/Iridescent.green.sweat.bee1.jpg"
image2_media_type = "image/jpeg"
image2_data = base64.b64encode(httpx.get(image2_url).content).decode("utf-8")

要在进行 API 请求时使用图像,您可以在 image 内容块中将图像作为 base64 编码的图像提供给 Claude。以下是一个简单的 Python 示例,展示了如何在 Messages API 请求中包含 base64 编码的图像:

    
message = client.messages.create(
    model="claude-3-opus-20240229",
    max_tokens=1024,
    messages=[
        {
            "role": "user",
            "content": [
                {
                    "type": "image",
                    "source": {
                        "type": "base64",
                        "media_type": image1_media_type,
                        "data": image1_data,
                    },
                },
                {
                    "type": "text",
                    "text": "描述这张图片。"
                }
            ],
        }
    ],
)
print(message)

支持的图像格式

Claude 目前支持 JPEG、PNG、GIF 和 WebP 格式的图像。

图像大小

为了获得最佳性能,如果图像可能超过大小或令牌限制,建议在上传之前调整图像大小。图像的长边超过 1568 像素或超过约 1600 个令牌时,将被缩小以保持在大小限制内。如果图像太大,调整大小将增加 time-to-first-token 的延迟,而不会提供额外的性能。

纵横比图像大小
1:11092x1092 px
3:4951x1268 px
2:3896x1344 px
9:16819x1456 px
1:2784x1568 px

推荐将图像大小调整为不超过 115 万像素,且两个维度都在 1568 像素以内。

图像最佳实践

在向 Claude 提供图像时,请记住以下准则以获得最佳结果:

  • 图像清晰度:确保图像清晰,不要太模糊或像素化。
  • 图像放置:最好将图像放在文本之前。放置在文本之后或与文本交错的图像也会表现良好,但推荐使用图像-文本结构。
  • 文本清晰度:如果图像包含重要文本,确保其清晰可辨。
  • 多张图像:您可以在单个请求中包含多张图像(claude.ai 上最多 5 张,API 请求中最多 20 张)。Claude 会分析所有提供的图像,有助于比较或对比图像。

提示技巧

许多适用于基于文本交互的提示技术也适用于基于图像的提示。以下是一些涉及图像的最佳实践提示结构示例:

1. 示例:一张图像 提示结构:

角色内容
User[Image] 描述这张图片。

API 调用:

    
message = client.messages.create(
    model="claude-3-opus-20240229",
    max_tokens=1024,
    messages=[
        {
            "role": "user",
            "content": [
                {
                    "type": "image",
                    "source": {
                        "type": "base64",
                        "media_type": image1_media_type,
                        "data": image1_data,
                    },
                },
                {
                    "type": "text",
                    "text": "描述这张图片。"
                }
            ],
        }
    ],
)

2. 示例:多张图像 提示结构:

角色内容
UserImage 1: [Image 1] Image 2: [Image 2] 这些图像有什么不同?

API 调用:

    
message = client.messages.create(
    model="claude-3-opus-20240229",
    max_tokens=1024,
    messages=[
        {
            "role": "user",
            "content": [
                {
                    "type": "text",
                    "text": "Image 1:"
                },
                {
                    "type": "image",
                    "source": {
                        "type": "base64",
                        "media_type": image1_media_type,
                        "data": image1_data,
                    },
                },
                {
                    "type": "text",
                    "text": "Image 2:"
                },
                {
                    "type": "image",
                    "source": {
                        "type": "base64",
                        "media_type": image2_media_type,
                        "data": image2_data,
                    },
                },
                {
                    "type": "text",
                    "text": "这些图像有什么不同?"
                }
            ],
        }
    ],
)

3. 示例:带有系统提示的多张图像

提示结构:

内容
System只用西班牙语回答。
UserImage 1: [Image 1] Image 2: [Image 2] 这些图像有什么不同?

API 调用:

    
message = client.messages.create(
    model="claude-3-opus-20240229",
    max_tokens=1024,
    system="只用西班牙语回答。",
    messages=[
        {
            "role": "user",
            "content": [
                {
                    "type": "text",
                    "text": "Image 1:"
                },
                {
                    "type": "image",
                    "source": {
                        "type": "base64",
                        "media_type": image1_media_type,
                        "data": image1_data,
                    },
                },
                {
                    "type": "text",
                    "text": "Image 2:"
                },
                {
                    "type": "image",
                    "source": {
                        "type": "base64",
                        "media_type": image2_media_type,
                        "data": image2_data,
                    },
                },
                {
                    "type": "text",
                    "text": "这些图像有什么不同?"
                }
            ],
        }
    ],
)

4. 示例:两个对话轮次中的四张图像

Claude 的视觉能力在混合图像和文本的多模态对话中真正大放异彩。您可以与 Claude 进行长时间的来回交流,随时添加新图像或后续问题。这为迭代图像分析、比较或将视觉与其他知识相结合提供了强大的工作流程。

以下是一个示例提示结构:

角色内容
UserImage 1: [Image 1] Image 2: [Image 2] 这些图像有什么不同?
Assistant[Claude 的回答]
UserImage 1: [Image 3] Image 2: [Image 4] 这些图像与前两张图像相似吗?
Assistant[Claude 的回答]

使用 API 时,只需将新图像插入 user 角色中的 Messages 数组,作为任何标准多轮对话结构的一部分。


图像成本

您在向 Claude 发送请求时包含的每张图像都会计入您的令牌使用量。要计算大致成本,请将图像令牌的大致数量乘以您使用的模型的每令牌价格。您可以在我们的定价页面上找到模型定价详情。

假设您的图像不需要调整大小,您可以通过以下简单算法估算使用的令牌数:

    
tokens = (width px * height px)/750

以下是我们 API 的大小限制内不同图像大小的大致令牌化和成本示例,假设使用 Claude 3 Sonnet,每百万输入令牌 $3:

图像大小令牌数每张图像成本每 1000 张图像成本
200x200 px(0.04 megapixels)~54~$0.00016~$0.16
1000x1000 px(1 megapixel)~1334~$0.004~$4.00
1092x1092 px(1.19 megapixels)~1590~$0.0048~$4.80

限制

虽然 Claude 的图像理解能力强大,但有一些限制需要注意:

  • 人物识别:Claude 不能识别图像中的人名,并会拒绝这样做。
  • 准确性:在解释低质量、旋转或非常小(小于 200 像素)的图像时,Claude 可能会产生错误。
  • 空间推理:Claude 的空间推理能力有限,可能难以完成需要精确定位或布局的任务。
  • 计数:Claude 可以给出大致的计数,但可能不精确,尤其是大量小对象时。
  • AI 生成的图像:Claude 无法识别图像是否由 AI 生成。
  • 不适当的内容:Claude 不会处理违反可接受使用政策的不适当或明确的图像。
  • 医疗保健应用:Claude 不能用于复杂的医学图像解释,如 CT 或 MRI。

请务必仔细审查和验证 Claude 的图像解释,尤其是对于高风险的用例。

常见问题

Claude 支持哪些图像文件类型? Claude 目前支持 JPEG、PNG、GIF 和 WebP 图像格式。

Claude 可以读取图像 URL 吗? Claude 无法读取图像 URL,API 也不支持在 text 或 image 块中添加 URL。

我可以上传的图像文件大小是否有限制? 是的,每张图像的最大允许文件大小为 5MB(在 claude.ai 上为 10MB)。

我可以在一个请求中包含多少张图像? 通过 Messages API,您可以在单个请求中包含最多 20 张图像。在 claude.ai 上,每个轮次最多可以包含 5 张图像。

Claude 会读取图像元数据吗? 不会,Claude 不会解析或接收传递给它的图像中的任何元数据。

我可以删除上传的图像吗? 不可以,图像上传是临时的,在 API 请求持续时间之后不会存储。

如果 Claude 的图像解释看起来不正确,我该怎么办? 请仔细检查图像是否清晰、高质量且方向正确。如果问题仍然存在,尝试使用提示工程技术改善结果。如果问题无法解决,请通过 claude.ai 中的反馈界面或联系我们的支持团队。

Claude 可以生成、制作、编辑、操纵或创建图像吗? 不可以,Claude 只是一个图像理解模型,不能生成、制作、编辑、操纵或创建图像。

深入探索视觉

准备好使用 Claude 开始进行图像构建了吗?以下是一些有用的资源:

  • 多模态 cookbook:提供图像入门和最佳实践技术的提示。
  • API 参考:访问我们的 Messages API 文档,包括涉及图像的 API 调用示例。

如果您有任何其他问题,请随时联系我们的支持团队。您也可以加入我们的开发者社区,与其他创作者联系,并从 Anthropic 专家那里获得帮助。我们很高兴看到您使用 Claude 强大的新视觉功能创造出什么!

阅读全文
RPA
八爪鱼RPA
支持一键抓取公众号/小红书/抖音/淘宝数据
立即查看
流程自动化
付费
AI爆文训练营
图文变现友好赛道,低门槛、高上限,教你从0到1做个赚钱的公众号!
立即查看
躺着赚钱
¥149/年
何老师陪你做副业
这里聚焦AI副业、个人IP、自媒体运营、写作、赚钱案例。不哔哔,只分享有价值的副业项目。
立即查看
AI赚钱案例
限免
DeepSeek进阶教程
带你全面掌握DeepSeek应用技巧。提升工作、学习效率
立即查看
100万人学过
付费
网盘拉新实战教程
每周花费一小时,手把手教你赚网盘平台佣金
立即查看
500人学过
限时优惠
AiPPT
结合最新AI技术,为用户提供一键生成高质量PPT的解决方案。
立即查看
一键生成 PPT
免费
豆包MarsCode
一款免费的AI编程助手,全新支持DeepSeek R1/V3、豆包大模型1.5自由切换,免部署、更准确、更强大!
立即查看
AI编程助手
免费
Monica AI
Monica AI满血复活DeepSeek【免费】,提升您的聊天、搜索、写作和编程体验。
立即查看
一站式 AI 助手
云服务
腾讯云
综合性的云计算服务平台,现已接入DeepSeek,提供多样化的云解决方案
立即查看
高效可靠
云服务
阿里云
全球领先的云计算与数据服务平台,提供云服务器、存储、数据库、安全等多种服务
立即查看
多样化
DeepSeek企业微信码
免费领取DeepSeek资料