Подсказка PaliGemma и системные инструкции

На этой странице описаны подсказки по форматированию и системные инструкции для моделей PaliGemma. Эти варианты модели Gemma используют то же общее форматирование, что и базовые модели Gemma, а также поддерживают специальный синтаксис для конкретных задач, связанных с изображениями.

Формат подсказки

В моделях PaliGemma используется тот же формат подсказок, что и в базовых моделях Gemma, на которых они основаны. Однако модели PaliGemma также поддерживают синтаксис специальных задач , который описан в следующем разделе. Дополнительные сведения о форматировании приглашений Gemma см. в разделе Подсказки Gemma и системные инструкции .

Порядок изображений и текстовых данных

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

Подскажите синтаксис задачи

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

  • "cap {lang}\n" : очень сырая короткая подпись (из WebLI-alt)
  • "caption {lang}\n" : красивые короткие подписи в стиле COCO.
  • "describe {lang}\n" : несколько длиннее и более описательные подписи.
  • "ocr" : Оптическое распознавание символов.
  • "answer {lang} {question}\n" : Вопрос-ответ о содержимом изображения.
  • "question {lang} {answer}\n" : создание вопроса для данного ответа.
  • "detect {object} ; {object}\n" : найти перечисленные объекты на изображении и вернуть ограничивающие рамки для этих объектов.
  • "segment {object}\n" : Найдите область, занимаемую объектом на изображении, чтобы создать сегментацию изображения для этого объекта.

Параметры {lang} предназначены для языковых кодов. С помощью этой опции PaliGemma поддерживает распознавание 34 различных языков для подсказок задач. Список поддерживаемых языков вы можете найти на GitHub .

Подробные примеры кода, показывающие, как использовать этот синтаксис, см. в руководстве «Создание выходных данных PaliGemma с помощью Keras» .

Пакетные команды подсказки

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

prompts = [
    'answer en where is the cow standing?\n',
    'answer en what color is the cow?\n',
    'describe en\n',
    'detect cow\n',
    'segment cow\n',
]
images = [cow_image, cow_image, cow_image, cow_image, cow_image]
outputs = paligemma.generate(
    inputs={
        "images": images,
        "prompts": prompts,
    }
)
for output in outputs:
    print(output)

Системные инструкции

Модели PaliGemma не поддерживают никаких дополнительных системных инструкций, кроме системных инструкций Gemma из базовых моделей, на которых они основаны.