Drejtoni Gemma me transformatorë të fytyrës përqafuar

Shikoni në ai.google.dev Ekzekutoni në Google Colab Vraponi në Kaggle Hapni në Vertex AI Shiko burimin në GitHub

Gjenerimi i tekstit, përmbledhja dhe analizimi i përmbajtjes janë vetëm disa nga detyrat që mund të kryeni me modelet e hapura Gemma. Ky tutorial ju tregon se si të filloni të ekzekutoni Gemma duke përdorur Transformatorët Hugging Face duke përdorur të dyja tekstin dhe futjen e imazhit për të gjeneruar përmbajtje teksti. Biblioteka e Transformers Python ofron një API për të hyrë në modele gjeneruese të AI të trajnuar paraprakisht, duke përfshirë Gemma. Për më shumë informacion, shihni dokumentacionin e Transformers .

Konfigurimi

Përpara se të filloni këtë tutorial, plotësoni hapat e mëposhtëm:

  • Merrni akses në Gemma duke u identifikuar në Hugging Face dhe duke zgjedhur Acknowledge License për një model Gemma.
  • Zgjidhni një kohë ekzekutimi Colab me burime të mjaftueshme për të ekzekutuar madhësinë e modelit Gemma që dëshironi të ekzekutoni. Mësoni më shumë .
  • Gjeneroni një Token të Qasjes së Përqafimit dhe Shtoje atë në mjedisin tuaj Colab.

Konfiguro shenjën e hyrjes

Shtoni kodin tuaj të hyrjes në Colab për të mundësuar shkarkimin e modeleve Gemma nga faqja e internetit Hugging Face. Përdorni veçorinë Colab Secrets për të ruajtur në mënyrë të sigurt token tuaj pa e shtuar atë në kodin tuaj të punës.

Për të shtuar shenjën tuaj të qasjes në fytyrën përqafuese si sekret:

  1. Hapni skedën e sekreteve duke zgjedhur ikonën e tastit në anën e majtë të ndërfaqes ose zgjidhni Tools > Command pallete , shkruani secrets dhe shtypni Enter .
  2. Zgjidhni Shto sekret të ri për të shtuar një hyrje të re sekrete.
  3. Në fushën Emri , futni HF_TOKEN .
  4. Në fushën Vlera , futni tekstin e Tokenit tuaj të Qasjes për Hugging Face.
  5. Në fushën e hyrjes në Notebook , zgjidhni çelësin për të aktivizuar aksesin.

Pasi të keni futur Token-in tuaj të Access si HF_TOKEN dhe vlerën, mund ta qaseni dhe ta vendosni brenda mjedisit tuaj të fletores Colab duke përdorur kodin e mëposhtëm:

from google.colab import userdata
from huggingface_hub import login

# Login into Hugging Face Hub
hf_token = userdata.get('HF_TOKEN') # If you are running inside a Google Colab
login(hf_token)

Instaloni paketat Python

Instaloni bibliotekat Hugging Face të nevojshme për ekzekutimin e modelit Gemma dhe bërjen e kërkesave.

# Install Pytorch & other libraries
%pip install "torch>=2.4.0"

# Install a transformers version that supports Gemma 3 (>= 4.51.3)
%pip install "transformers>=4.51.3"

Krijo tekst nga teksti

Nxitja e një modeli Gemma me tekst për të marrë një përgjigje tekstuale është mënyra më e thjeshtë për të përdorur Gemma dhe funksionon me pothuajse të gjitha variantet Gemma. Ky seksion tregon se si të përdoret ngarkesa e bibliotekës Hugging Face Transformers dhe të konfigurohet një model Gemma për gjenerimin e tekstit në tekst.

Modeli i ngarkesës

Përdorni bibliotekat e torch dhe transformers për të krijuar një shembull të një klase pipeline të ekzekutimit të modelit me Gemma. Kur përdorni një model për gjenerimin e prodhimit ose ndjekjen e udhëzimeve, zgjidhni një model të akorduar me instruksion (IT), i cili zakonisht it ka në vargun e ID-së së modelit. Duke përdorur objektin pipeline , ju specifikoni variantin Gemma që dëshironi të përdorni, llojin e detyrës që dëshironi të kryeni, veçanërisht "text-generation" për gjenerimin e tekstit në tekst, siç tregohet në shembullin e kodit të mëposhtëm:

import torch
from transformers import pipeline

pipeline = pipeline(
    task="text-generation",
    model="google/gemma-3-4b-it",
    device=0, # "cuda" for Colab, "msu" for iOS devices
    torch_dtype=torch.bfloat16
)

Gemma mbështet vetëm disa cilësime task për gjenerim. Për më shumë informacion mbi cilësimet e disponueshme task , shihni dokumentacionin detyrë() të tubacioneve të përqafimit të fytyrës. Përdorni tipin e të dhënave torch torch.bfloat16 për të zvogëluar saktësinë e modelit dhe për të llogaritur burimet e nevojshme, pa ndikuar ndjeshëm në cilësinë e prodhimit të modelit. Për cilësimin e device , mund të përdorni "cuda" për Colab, ose "msu" për pajisjet iOS, ose thjesht ta vendosni këtë në 0 (zero) për të specifikuar GPU-në e parë në sistemin tuaj. Për më shumë informacion rreth përdorimit të klasës Pipeline, shihni dokumentacionin Hugging Face Pipelines .

Ekzekutoni gjenerimin e tekstit

Pasi të keni ngarkuar dhe konfiguruar modelin Gemma në një objekt pipeline , mund t'i dërgoni kërkesa modelit. Kodi i mëposhtëm shembull tregon një kërkesë bazë duke përdorur parametrin text_inputs :

pipeline(text_inputs="roses are red")
[{'generated_text': 'roses are red, violets are blue, \ni love you more than you ever knew.\n\n**Explanation'}]

Përdorni një shabllon të shpejtë

Kur gjeneroni përmbajtje me nxitje më komplekse, përdorni një shabllon të shpejtë për të strukturuar kërkesën tuaj. Një shabllon i shpejtë ju lejon të specifikoni të dhëna nga role specifike, si p.sh. user ose model , dhe është një format i kërkuar për menaxhimin e ndërveprimeve të bisedës me shumë kthesa me modelet Gemma. Shembulli i mëposhtëm i kodit tregon se si të krijoni një shabllon të shpejtë për Gemma:

messages = [
    [
        {
            "role": "system",
            "content": [{"type": "text", "text": "You are a helpful assistant."},]
        },
        {
            "role": "user",
            "content": [{"type": "text", "text": "Roses are red..."},]
        },
    ],
]

pipeline(messages, max_new_tokens=50)

Gjeneroni tekst nga të dhënat e imazhit

Duke filluar me Gemma 3, për madhësitë e modelit 4B e më lart, mund të përdorni të dhënat e imazhit si pjesë e kërkesës suaj. Ky seksion tregon se si të përdoret biblioteka e Transformers për të ngarkuar dhe konfiguruar një model Gemma për të përdorur të dhënat e imazhit dhe futjen e tekstit për të gjeneruar dalje teksti.

Modeli i ngarkesës

Kur ngarkoni një model Gemma për përdorim me të dhënat e imazhit, ju konfiguroni shembullin e pipeline Transformer posaçërisht për përdorim me imazhe. In particular, you must select a pipeline configuration that can handle visual data by setting the task parameter to "image-text-to-text" , as shown in the following code example:

import torch
from transformers import pipeline

pipeline = pipeline(
    task="image-text-to-text", # required for image input
    model="google/gemma-3-4b-it",
    device=0,
    torch_dtype=torch.bfloat16
)

Ekzekutoni gjenerimin e tekstit

Pasi të keni konfiguruar modelin Gemma për të trajtuar hyrjen e imazhit me një shembull pipeline , mund t'i dërgoni modelit kërkesa me imazhe. Përdorni shenjën <start_of_image> për të shtuar imazhin në tekstin e kërkesës suaj. The following example code shows a basic request using the pipeline parameter:

pipeline(
    "https://ai.google.dev/static/gemma/docs/images/thali-indian-plate.jpg",
    text="<start_of_image> What is shown in this image?"
)
[{'input_text': '<start_of_image> What is shown in this image?',
  'generated_text': '<start_of_image> What is shown in this image?\n\nThis image showcases a traditional Indian Thali. A Thali is a platter that contains a variety'}]

Përdorni një shabllon të shpejtë

Kur gjeneroni përmbajtje me nxitje më komplekse, përdorni një shabllon të shpejtë për të strukturuar kërkesën tuaj. Një shabllon i shpejtë ju lejon të specifikoni të dhëna nga role specifike, si p.sh. user ose model , dhe është një format i kërkuar për menaxhimin e ndërveprimeve të bisedës me shumë kthesa me modelet Gemma. Shembulli i mëposhtëm i kodit tregon se si të krijoni një shabllon të shpejtë për Gemma:

messages = [
    {
        "role": "user",
        "content": [
            {"type": "image", "url": "https://ai.google.dev/static/gemma/docs/images/thali-indian-plate.jpg"},
            {"type": "text", "text": "What is shown in this image?"},
        ]
    },
    {
        "role": "assistant",
        "content": [
            {"type": "text", "text": "This image shows"},
        ],
    },
]

pipeline(text=messages, max_new_tokens=50, return_full_text=False)

Ju mund të përfshini imazhe të shumta në kërkesën tuaj duke përfshirë "type": "image", hyrje në listën e content .

Gjeneroni tekst nga të dhënat audio

Me Gemma 3n , mund të përdorni të dhënat audio si pjesë e kërkesës suaj. Ky seksion tregon se si të përdoret biblioteka e Transformers për të ngarkuar dhe konfiguruar një model Gemma për të përdorur të dhënat audio dhe futjen e tekstit për të gjeneruar dalje teksti.

Instaloni paketat Python

Një version i fundit i bibliotekave të Transformers kërkohet për të përdorur hyrjen audio me Gemma. Instaloni bibliotekat Hugging Face për ekzekutimin e modelit Gemma dhe për të bërë kërkesa me të dhëna audio siç tregohet më poshtë.

# Install Pytorch & other libraries
%pip install "torch>=2.4.0"

# Install a transformers version that supports Gemma 3n (>= 4.53)
%pip install "transformers>=4.53.0"

Modeli i ngarkesës

Kur ngarkoni një model Gemma për përdorim me të dhëna audio, ju konfiguroni shembullin e Transformer posaçërisht për përdorim me të dhënat audio. Në veçanti, duhet të përcaktoni një objekt processor dhe model duke përdorur klasat AutoProcessor dhe AutoModelForImageTextToText , siç tregohet në shembullin e kodit të mëposhtëm:

import torch
from transformers import AutoProcessor, AutoModelForImageTextToText

GEMMA_MODEL_ID = "google/gemma-3n-E4B-it"

processor = AutoProcessor.from_pretrained(GEMMA_MODEL_ID, device_map="auto")
model = AutoModelForImageTextToText.from_pretrained(
            GEMMA_MODEL_ID, torch_dtype="auto", device_map="auto")

Përdorni një shabllon të shpejtë

Kur gjeneroni përmbajtje me audio, përdorni një shabllon të shpejtë për të strukturuar kërkesën tuaj. Një shabllon i shpejtë ju lejon të specifikoni të dhëna nga role specifike, si p.sh. user ose model , dhe është një format i kërkuar për menaxhimin e ndërveprimeve të bisedës me shumë kthesa me modelet Gemma. Kodi i mëposhtëm i shembullit tregon se si të ndërtoni një shabllon të shpejtë për Gemma me hyrjen e të dhënave audio:

messages = [
    {
        "role": "user",
        "content": [
            {"type": "audio", "audio": "https://ai.google.dev/gemma/docs/audio/roses-are.wav"},
            {"type": "text", "text": "Transcribe this audio and complete the statement"},
        ]
    }
]

Ju mund të përfshini skedarë audio të shumtë në kërkesën tuaj duke përfshirë "type": "audio", hyrje në listën e content . Nëse po kërkoni me të dhëna audio, por pa shabllon, përdorni sintaksën <audio_soft_token> në tekstin e kërkesës suaj.

Ekzekutoni gjenerimin e tekstit

Pasi të keni konfiguruar modelin Gemma me një processor dhe objekt model dhe të keni krijuar një kërkesë me të dhëna audio duke përdorur një shabllon të shpejtë, mund ta dërgoni kërkesën për të gjeneruar dalje. Shembulli i mëposhtëm i kodit tregon një kërkesë duke përdorur një shabllon chat, gjenerimin e daljes, dekodimin e përgjigjes:

input_ids = processor.apply_chat_template(
        messages,
        add_generation_prompt=True,
        tokenize=True, return_dict=True,
        return_tensors="pt",
)
input_ids = input_ids.to(model.device, dtype=model.dtype)

# Generate output from the model
outputs = model.generate(**input_ids, max_new_tokens=128)

# decode and print the output as text
text = processor.batch_decode(
    outputs,
    skip_special_tokens=False,
    clean_up_tokenization_spaces=False
)
print(text[0])

Hapat e ardhshëm

Ndërtoni dhe eksploroni më shumë me modelet Gemma: