Ta strona opisuje formatowanie promptów i instrukcje systemu dotyczące modeli PaliGemma. Te warianty modelu Gemma używają tego samego ogólnego formatowania co modele podstawowe Gemma, a także obsługują specjalną składnię do wykonywania konkretnych zadań związanych z obrazami.
Format promptu
Modele PaliGemma korzystają z tego samego formatowania promptów co modele podstawowe Gemma, na których są oparte. Modele PaliGemma obsługują też specjalną składnię zadań, o której mowa w następnej sekcji. Więcej informacji o formatowaniu promptów Gemma znajdziesz w artykule Prompty Gemma i instrukcje systemu.
kolejność danych obrazu i tekstu,
Gdy podajesz modele PaliGemma dane tekstowe i obrazowe, dane obrazowe muszą być najpierw, a potem dane tekstowe. Odwrócenie kolejności danych promptu obrazu i tekstu lub zmieszanie tych danych zwykle powoduje, że odpowiedzi są nieprzydatne.
Składnia promptu
Modele PaliGemma są trenowane z użyciem określonych wzorców i składni promptów do wykonywania zadań takich jak identyfikacja obiektów i opisywanie obrazów. Możesz użyć tej składni prompt task, aby określić konkretne działanie modeli PaliGemma:
"cap {lang}\n"
: bardzo krótkie, nieprzetworzone napisy (z WebLI-alt)"caption {lang}\n"
: krótkie napisy w stylu COCO"describe {lang}\n"
: nieco dłuższe, bardziej opisowe napisy"ocr"
: optyczne rozpoznawanie znaków"answer {lang} {question}\n"
: odpowiadanie na pytania dotyczące zawartości obrazu"question {lang} {answer}\n"
: generowanie pytań do danej odpowiedzi"detect {object} ; {object}\n"
: znajdowanie wymienionych obiektów na obrazie i zwracanie ich ograniczonych pól"segment {object}\n"
: zlokalizuj obszar zajmowany przez obiekt na obrazie, aby utworzyć segmentację obrazu dla tego obiektu
Opcje {lang}
dotyczą kodów języków. Dzięki tej opcji PaliGemma obsługuje rozpoznawanie języka w 34 różnych językach w przypadku promptów zadań. Listę obsługiwanych języków znajdziesz na GitHub.
Szczegółowe przykłady kodu pokazujące, jak używać tej składni, znajdziesz w poradniku Generowanie danych wyjściowych PaliGemma za pomocą Keras.
Zbiorcze prompty
W ramach jednego prompta możesz podać więcej niż 1 polecenie promptu jako zestaw instrukcji. Każde polecenie prompt musi kończyć się znakiem \n
. Ten przykład pokazuje, jak ułożyć tekst promptu, aby zawierał kilka instrukcji.
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)
Instrukcje systemowe
Modele PaliGemma nie obsługują żadnych dodatkowych instrukcji systemowych poza instrukcjami systemowymi Gemma z modeli podstawowych, na których się opierają.