Семейство моделей Claude 3 обладает новыми возможностями в области компьютерного зрения, которые позволяют Claude понимать и анализировать изображения, открывая захватывающие возможности для мультимодального взаимодействия. С Claude вы теперь можете предоставлять как текстовые, так и визуальные входные данные, чтобы обогатить ваши беседы и реализовать мощные новые варианты использования.

Модели с возможностями компьютерного зрения

Вам не нужно использовать специальные версии наших моделей Claude 3 для доступа к возможностям компьютерного зрения Claude. Все модели Claude 3 способны понимать и анализировать изображения.

Это руководство проведет вас через процесс работы с изображениями в Claude, включая лучшие практики, примеры кода и ограничения, которые следует учитывать.

Попробуйте пообщаться с изображениями прямо сейчас на claude.ai!


Начало работы

В настоящее время вы можете использовать возможности компьютерного зрения Claude тремя способами:

  • Непосредственно через claude.ai в окне чата. Просто загрузите изображение, как если бы вы загружали файл, или перетащите изображение прямо в окно!
  • Через нашу Консоль Workbench. Если вы выберете модель, которая принимает изображения (только модели Claude 3), в правом верхнем углу каждого блока сообщений User появится кнопка для добавления изображений.
  • Через API-запрос - см. инструкции ниже.

Для этого руководства мы будем использовать Anthropic Python SDK и следующие примеры переменных. Мы будем получать образцы изображений из Википедии с помощью библиотеки httpx, но вы можете использовать любые подходящие для вас источники изображений.

Python
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-запроса, вы можете предоставить изображения Claude в виде изображения в кодировке base64 в блоках содержимого image. Вот простой пример на Python, показывающий, как включить изображение в кодировке base64 в запрос Messages API:

Python

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

Поддерживаемые форматы изображений: JPEG, PNG, GIF и WebP. Дополнительные примеры кода и подробности о параметрах см. в примерах Messages API.


Размер изображения

Для оптимальной производительности мы рекомендуем изменять размер изображений перед загрузкой, если они могут превышать ограничения по размеру или токенам. Если длинная сторона вашего изображения превышает 1568 пикселей или ваше изображение содержит более ~1600 токенов, оно сначала будет уменьшено с сохранением соотношения сторон, пока не будет соответствовать ограничениям по размеру. Если ваше входное изображение слишком велико и требует изменения размера, это увеличит задержку времени до первого токена, не давая вам никакого дополнительного преимущества в производительности модели. Очень маленькие изображения размером менее 200 пикселей по любой стороне могут привести к снижению производительности.

Если вы хотите улучшить время до первого токена, мы рекомендуем изменять размер изображений до не более 1,15 мегапикселей (и в пределах 1568 пикселей по обеим сторонам).

Вот таблица максимальных размеров изображений, принимаемых нашим API, которые не будут изменены для распространенных соотношений сторон. Все эти изображения приблизительно составляют около ~1600 токенов и ~$4,80/1000 изображений (при использовании Claude 3 Sonnet):

Соотношение сторонРазмер изображения
1:11092x1092 px
3:4951x1268 px
2:3896x1344 px
9:16819x1456 px
1:2784x1568 px

Лучшие практики работы с изображениями

При предоставлении изображений Claude следует учитывать следующие рекомендации для достижения наилучших результатов:

  • Четкость изображения: Убедитесь, что ваши изображения четкие и не слишком размытые или пикселизированные. Claude может испытывать трудности с точной интерпретацией нечетких или низкокачественных изображений.
  • Размещение изображения: Как и в случае с размещением документа-запроса, Claude лучше всего работает, когда изображения идут перед текстом. Изображения, размещенные после текста или вставленные в текст, по-прежнему будут хорошо работать, но если ваш вариант использования позволяет это, мы рекомендуем структуру изображение-затем-текст. Подробнее см. в советах по подсказкам для компьютерного зрения.
  • Текст: Если ваше изображение содержит важный текст, убедитесь, что он разборчив и не слишком мелкий. Однако избегайте обрезки ключевого визуального контекста только для увеличения текста.
  • Несколько изображений: Вы можете включить несколько изображений в один запрос (до 5 для claude.ai и до 20 для API-запросов). Claude проанализирует все предоставленные изображения при формулировании своего ответа. Это может быть полезно для сравнения или сопоставления изображений.

Дополнительные сведения и рекомендации см. в разделе ограничения.


Советы по подсказкам

Многие методы подсказок, которые хорошо работают для текстовых взаимодействий с Claude, также могут быть применены к подсказкам на основе изображений. Ознакомьтесь с нашей мультимодальной кулинарной книгой для ознакомления с методами обработки изображений и вариантами использования, а также с сопутствующими методами и стратегиями подсказок.

Ниже приведены несколько примеров передовых структур подсказок с использованием изображений. В общем, лучше всего размещать изображения раньше в подсказке, чем вопросы о них или инструкции для задач, которые их используют, а в ситуациях, когда есть несколько изображений, представлять каждое изображение с помощью Изображение 1: и Изображение 2: и так далее. Вам не нужны переносы строк между изображениями или между изображениями и подсказкой.

1. Пример: Одно изображение

Вот структура подсказки:

РольСодержание
User[Изображение] Опишите это изображение.

Вот соответствующий API-вызов:

Python
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. Пример: Несколько изображений

Вот структура подсказки:

РольСодержание
UserИзображение 1: [Изображение 1] Изображение 2: [Изображение 2] Чем отличаются эти изображения?

Вот соответствующий API-вызов:

Python
message = client.messages.create(
    model="claude-3-opus-20240229",
    max_tokens=1024,
    messages=[
        {
            "role": "user",
            "content": [
                {
                    "type": "text",
                    "text": "Изображение 1:"
                },
                {
                    "type": "image",
                    "source": {
                        "type": "base64",
                        "media_type": image1_media_type,
                        "data": image1_data,
                    },
                },
                {
                    "type": "text",
                    "text": "Изображение 2:"
                },
                {
                    "type": "image",
                    "source": {
                        "type": "base64",
                        "media_type": image2_media_type,
                        "data": image2_data,
                    },
                },
                {
                    "type": "text",
                    "text": "Чем отличаются эти изображения?"
                }
            ],
        }
    ],
)

3. Пример: Несколько изображений с системной подсказкой

Вот структура подсказки:

Содержание
SystemОтвечайте только на испанском.
UserИзображение 1: [Изображение 1] Изображение 2: [Изображение 2] Чем отличаются эти изображения?

Вот соответствующий API-вызов:

Python
message = client.messages.create(
    model="claude-3-opus-20240229",
    max_tokens=1024,
    system="Отвечайте только на испанском.",
    messages=[
        {
            "role": "user",
            "content": [
                {
                    "type": "text",
                    "text": "Изображение 1:"
                },
                {
                    "type": "image",
                    "source": {
                        "type": "base64",
                        "media_type": image1_media_type,
                        "data": image1_data,
                    },
                },
                {
                    "type": "text",
                    "text": "Изображение 2:"
                },
                {
                    "type": "image",
                    "source": {
                        "type": "base64",
                        "media_type": image2_media_type,
                        "data": image2_data,
                    },
                },
                {
                    "type": "text",
                    "text": "Чем отличаются эти изображения?"
                }
            ],
        }
    ],
)

4. Пример: Четыре изображения в двух разговорных оборотах

Возможности компьютерного зрения Claude действительно проявляются в мультимодальных беседах, сочетающих как изображения, так и текст. Вы можете вести расширенные двусторонние обмены с Claude, добавляя новые изображения или последующие вопросы в любой момент. Это позволяет реализовать мощные рабочие процессы для итеративного анализа изображений, сравнения или объединения визуальных данных с другими знаниями.

Вот пример структуры подсказки:

РольСодержание
UserИзображение 1: [Изображение 1] Изображение 2: [Изображение 2] Чем отличаются эти изображения?
Assistant[Ответ Claude]
UserИзображение 1: [Изображение 3] Изображение 2: [Изображение 4] Похожи ли эти изображения на первые два?
Assistant[Ответ Claude]

При использовании API просто вставьте новые изображения в массив сообщений в роли user как часть любой стандартной структуры многооборотного разговора.


Стоимость изображений

Каждое изображение, включенное в запрос к Claude, учитывается в вашем использовании токенов. Чтобы рассчитать приблизительную стоимость, умножьте приблизительное количество токенов изображения на цену за токен используемой вами модели. Подробную информацию о ценах на модели можно найти на нашей странице цен.

Предполагая, что ваше изображение не нуждается в изменении размера, вы можете оценить количество используемых токенов с помощью этого простого алгоритма:

токены = (ширина px * высота px)/750

Вот несколько примеров приблизительной токенизации и стоимости для различных размеров изображений в рамках ограничений размера нашего API, предполагая использование Claude 3 Sonnet по цене $3 за миллион входных токенов:

Размер изображенияКоличество токеновСтоимость / изображениеСтоимость / 1000 изображений
200x200 px(0.04 мегапикселя)~54~$0.00016~$0.16
1000x1000 px(1 мегапиксель)~1334~$0.004~$4.00
1092x1092 px(1.19 мегапикселя)~1590~$0.0048~$4.80

Ограничения

Хотя возможности понимания изображений Claude находятся на передовом уровне, есть некоторые ограничения, о которых следует знать:

  • Идентификация людей: Claude нельзя использовать для идентификации (т.е. называния) людей на изображениях, и он откажется это делать.
  • Точность: Claude может галлюцинировать или делать ошибки при интерпретации низкокачественных, повернутых или очень маленьких изображений размером менее 200 пикселей.
  • Пространственное мышление: Способности Claude к пространственному мышлению ограничены. Он может испытывать трудности с задачами, требующими точной локализации или компоновки, например, чтение циферблата аналоговых часов или описание точного положения шахматных фигур.
  • Подсчет: Claude может давать приблизительное количество объектов на изображении, но может быть не всегда точным, особенно при большом количестве мелких объектов.
  • Сгенерированные ИИ изображения: Claude не знает, сгенерировано ли изображение ИИ, и может ошибаться, если его спросить. Не полагайтесь на него для обнаружения поддельных или синтетических изображений.
  • Неприемлемый контент: Claude не будет обрабатывать неприемлемые или откровенные изображения, нарушающие нашу Политику допустимого использования.
  • Применение в здравоохранении: Хотя Claude может анализировать общие медицинские изображения, он не предназначен для интерпретации сложных диагностических снимков, таких как КТ или МРТ. Выводы Claude не следует рассматривать как замену профессиональных медицинских консультаций или диагностики.

Всегда тщательно проверяйте интерпретации изображений Claude, особенно для ответственных вариантов использования. Не используйте Claude для задач, требующих идеальной точности или анализа конфиденциальных изображений без надзора человека.


FAQ

Какие типы файлов изображений поддерживает Claude?

В настоящее время Claude поддерживает форматы изображений JPEG, PNG, GIF и WebP, а именно image/jpeg, image/png, image/gif и image/webp.

Может ли Claude читать URL-адреса изображений?

Claude не может читать URL-адреса изображений ни на каком интерфейсе, включая claude.ai. Наш API в настоящее время не поддерживает добавление URL-адресов ни в блоки text, ни в блоки image. Добавление URL-адресов изображений (или URL-адресов любого типа) в блок text может привести к тому, что Claude будет галлюцинировать, поскольку в настоящее время Claude не может получать информацию с этого URL-адреса.

Есть ли ограничение на размер файла изображения, который я могу загрузить?

Да, максимально допустимый размер файла изображения составляет 5 МБ на изображение (10 МБ на изображение на claude.ai). Изображения размером более 5 МБ будут отклонены и вернут ошибку при использовании нашего API.

Сколько изображений я могу включить в один запрос?

Вы можете включить до 20 изображений в один запрос через Messages API. Вы можете включить до 5 изображений за один оборот на claude.ai. Количество изображений, превышающее этот лимит, будет отклонено и вернет ошибку при использовании нашего API.

Читает ли Claude метаданные изображений?

Нет, Claude не анализирует и не получает никаких метаданных из переданных ему изображений.

Могу ли я удалить загруженные мной изображения?

Нет. Кроме того, загрузки изображений являются эфемерными и не хранятся дольше, чем продолжительность API-запроса. Загруженные изображения автоматически удаляются после их обработки.

Где я могу найти более подробную информацию о конфиденциальности данных и безопасности для загрузки изображений?

Пожалуйста, обратитесь к нашей политике конфиденциальности для получения информации о том, как мы обрабатываем загруженные изображения и другие данные. Мы не используем загруженные изображения для обучения наших моделей.

Что мне делать, если интерпретация изображения Claude кажется неверной?

Если вы получили от Claude интерпретацию изображения, которая кажется неверной, сначала дважды проверьте, что изображение четкое, высокого качества и правильно ориентировано. Если проблема сохраняется, попробуйте улучшить результаты, применив методы инженерии подсказок. Если проблему не удается решить, пожалуйста, сообщите нам об этом, отметив тревожный вывод непосредственно в claude.ai с помощью интерфейса с пальцами вверх/вниз или связавшись с нашей службой поддержки. Ваш вклад помогает нам совершенствоваться!

Может ли Claude генерировать, создавать, редактировать, манипулировать или создавать изображения?

Нет, Claude - это только модель понимания изображений. Он может интерпретировать и анализировать изображения, но не может генерировать, создавать, редактировать, манипулировать или создавать изображения.


Углубитесь в компьютерное зрение

Готовы начать работу с изображениями, используя Claude? Вот несколько полезных ресурсов:

Если у вас есть другие вопросы, не стесняйтесь обращаться в нашу службу поддержки. Вы также можете присоединиться к нашему сообществу разработчиков, чтобы связаться с другими создателями и получить помощь от экспертов Anthropic.

Мы с нетерпением ждем возможности увидеть, что вы создадите с помощью мощных новых возможностей компьютерного зрения Claude!