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 上找到支持的语言列表。

如需查看详细的代码示例,了解如何使用此语法,请参阅使用 Keras 生成 PaliGemma 输出教程。

批量提示命令

您可以在一个提示中提供多个提示命令,作为一组指令。每个提示命令都必须以 \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)

系统指令

除了基于其基础模型的 Gemma 系统指令之外,PaliGemma 模型不支持任何其他系统指令。