Comando e instruções do sistema PaliGemma

Esta página descreve a formatação de comandos e as instruções do sistema para modelos da PaliGemma. Essas variantes de modelo do Gemma usam a mesma formatação geral dos modelos de base do Gemma e também oferecem suporte a uma sintaxe especial para tarefas específicas relacionadas a imagens.

Formato do comando

Os modelos PaliGemma usam a mesma formatação de comando que os modelos de base do Gemma em que se baseiam. No entanto, os modelos PaliGemma também oferecem suporte a uma sintaxe de tarefas especial, que é descrita na próxima seção. Para mais informações sobre a formatação de comandos do Gemma, consulte Instruções do sistema e comandos do Gemma.

Ordem dos dados de texto e imagem

Ao solicitar modelos PaliGemma com dados de texto e imagem, os dados de imagem precisam ser fornecidos primeiro e, em seguida, os dados de solicitação de texto. Inverter a ordem dos dados de comando de imagem e texto ou misturar esses dados geralmente gera respostas inutilizáveis.

Sintaxe da tarefa de comando

Os modelos PaliGemma são treinados com padrões e sintaxe de comando específicos para tarefas como identificação de objetos e legenda de imagens. É possível usar essa sintaxe de comando para solicitar um comportamento específico dos modelos PaliGemma, conforme abaixo:

  • "cap {lang}\n":legenda curta muito crua (de WebLI-alt)
  • "caption {lang}\n":legendas curtas e legais, como as de COCO
  • "describe {lang}\n":legendas mais longas e descritivas
  • "ocr":reconhecimento óptico de caracteres
  • "answer {lang} {question}\n":resposta a uma pergunta sobre o conteúdo da imagem
  • "question {lang} {answer}\n":geração de perguntas para uma determinada resposta
  • "detect {object} ; {object}\n":localiza objetos listados em uma imagem e retorna as caixas delimitadoras desses objetos.
  • "segment {object}\n":localiza a área ocupada pelo objeto em uma imagem para criar uma segmentação de imagem para esse objeto.

As opções {lang} são para códigos de idioma. O PaliGemma oferece suporte ao reconhecimento de idioma para 34 idiomas diferentes em comandos de tarefas com essa opção. Confira a lista de idiomas compatíveis no GitHub.

Para conferir exemplos de código detalhados que mostram como usar essa sintaxe, consulte o tutorial Generate PaliGemma output with Keras.

Comandos de comando em lote

É possível fornecer mais de um comando de solicitação em um único comando como um lote de instruções. Cada comando de solicitação precisa terminar com um caractere \n. O exemplo a seguir demonstra como estruturar o texto do comando para fornecer várias instruções.

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)

Instruções do sistema

Os modelos PaliGemma não oferecem suporte a outras instruções do sistema além das instruções do sistema Gemma dos modelos de base em que se baseiam.