本页介绍了 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 模型不支持任何其他系统指令。