Kako graditi z Gemini 2.5 Flash Image (nano banana)
Če ste slišali za novo Gemini 2.5 Flash Image (pogosto se pojavlja pod nenavadnim kodnim imenom »nano banana«), se verjetno sprašujete, kako dejansko graditi z njo – hitro. Ta vodnik vas vodi skozi nastavitev, pozive in vzorce proizvodnje, tako da lahko hitro in zanesljivo pošiljate funkcije slike + besedila.
Kaj boste dobili: praktičen potek dela od začetka do konca za uporabo modela Gemini 2.5 Flash Image, vključno z recepti za pozive, nasveti za ocenjevanje in utrjevanje proizvodnje.
Kaj je Gemini 2.5 Flash Image?
Gemini 2.5 Flash Image je lahek, hiter multimodalni model, prilagojen za razumevanje slik in generiranje nalog z nizko latenco. V praksi je idealen za:
- Razumevanje slik: razvrščanje, opisi, OCR-lite, izvleček postavitve
- Vizualna vprašanja in odgovori: odgovarjanje na vprašanja, ki temeljijo na sliki
- Lahkotno ustvarjanje ali urejanje slik: preproste različice, opombe, prekrivanja
- Izkušnje, prijazne do roba: hitri predogledi, poceni sklepanje, interaktivni UX
Oznaka »Flash« na splošno pomeni optimizirano hitrost in stroške. Vzdevek »nano banana« se običajno nanaša na notranjo oznako ali različico kontrolne točke, ki se uporablja v primerih ali opombah ob izdaji.
Predpogoji
- Račun Google AI Studio ali Vertex AI z dostopom do Gemini 2.5 Flash Image
- Ključ API ali poverilnice servisnega računa
- Izvajanje: Node.js, Python ali strežniška platforma brez strežnika (Cloud Functions/Run)
- Za proizvodnjo: beleženje, omejevanje hitrosti, različice pozivov in ocenjevalni sistem
Hitri začetek: Razumevanje slik
Spodaj je minimalen primer Pythona za vizualna vprašanja in odgovore ter opisovanje slik. Nadomestite označbe mesta s svojimi poverilnicami.
import base64
import requests
API_KEY = "{YOUR_API_KEY}"
MODEL = "gemini-2.5-flash-image" # ali točno ime modela ponudnika
ENDPOINT = "(MODEL)
# Naložite sliko v base64
with open("./sample.jpg", "rb") as f:
image_b64 = base64.b64encode(f.read).decode("utf-8")
payload = {
"contents": [{
"role": "user",
"parts": [
{"text": "Opišite to sliko v enem stavku, nato pa navedite tri ključne podrobnosti."},
{
"inline_data": {
"mime_type": "image/jpeg",
"data": image_b64
}
}
]
}],
"generationConfig": {
"temperature": 0.4,
"maxOutputTokens": 300
}
}
resp = requests.post(f"{ENDPOINT}?key={API_KEY}", json=payload)
resp.raise_for_status
print(resp.json["candidates"][0]["content"]["parts"][0]["text"])
Recept za poziv za zanesljive odgovore
- Namen sistema: »Ste natančen vizualni analitik. Če niste prepričani, recite, da niste prepričani.«
- Uporabniški poziv: »Odgovorite jedrnato. Navedite vidne znake. Če je v sliki besedilo, ga prepišite natančno.«
- Zahtevajte strukturo: »Vrniti JSON z
caption, objects[], text_blocks[].«
{
"caption": "<povzetek v enem stavku>",
"objects": [
{"label": "banana", "count": 2},
{"label": "bowl", "count": 1}
],
"text_blocks": [
{"text": "NANO BANANA", "bbox": [x,y,w,h]}
]
}
Hitri začetek: Lahkotno ustvarjanje/urejanje
Za preproste prekrivanja ali različice številni ponudniki izpostavljajo končno točko slika-v-sliko. Psevdokoda:
payload = {
"contents": [{
"role": "user",
"parts": [
{"text": "Dodajte subtilno oznako 'Sample' v zgornji desni kot."},
{"inline_data": {"mime_type": "image/png", "data": image_b64}}
]
}],
"generationConfig": {"temperature": 0.3, "maxOutputTokens": 0},
"tools": [{"imageEdit": {"strength": 0.25}}]
}
- Ohranite
strength nizko za minimalna urejanja.
- Vedno določite postavitev in slog: »zgornji desni kot, 12 slikovnih pik, polprozorno bela.«
- Zaradi skladnosti nikoli ne zahtevajte ponovnega ustvarjanja slik z vodnim žigom ali avtorsko zaščitenih slik.
Gradnja zanesljivega cevovoda
1) Določite naloge in merila sprejemljivosti
- Opisovanje slik: WER na vidnem besedilu < 10 %, opis <= 20 besed
- Vizualna vprašanja in odgovori: natančno ujemanje ključnih dejstev; dovolite možnost »nisem prepričan«
- Izvleček postavitve: natančnost/odzivnost na entitete, kot so cena, datum, SKU
2) Strukturirajte pozive
- Najprej navodila, nato slika
- Izhodna oblika: JSON shema z vrstami polj
- Varovala: »Če besedilo ni vidno, vrnite
null«
3) Serija in predpomnilnik
- Ko je mogoče, združite zahteve za slike
- Predpomnite stabilne rezultate (npr. fotografije izdelkov, ki se ne spreminjajo)
- Uporabite ETags ali zgoščene vrednosti vsebine za odpravljanje podvajanja
4) Sistematično ocenjujte
- Zgradite majhen zlati nabor: 100–500 slik z oznakami resnice na tleh
- Spremljajte meritve: natančnost, stopnja halucinacij, latenca odziva
- Ustvarite regresijski paket za vsako različico poziva
5) Proizvodni nadzor
- Tesno nastavite
maxOutputTokens za deterministične izhode
- Uporabite nižjo
temperaturo (0,1–0,4) za dejanske naloge
- Omejite hitrost glede na uporabnika in organizacijo; dodajte eksponentno zaustavitev
- Beležite vhode/izhode (zgoščena vrednost slike, ne surova za zasebnost)
Pogosti primeri uporabe in vzorci
Vizualno iskanje izdelkov
- Zaužijte slike kataloga, izvlecite
objects, dominant_color, style
- V času poizvedbe primerjajte vdelave ali atribute
- Vzorec poziva: »Vrnite 5 najboljših atributov, ki bi kupcu pomagali pri odločitvi.«
Document Lite OCR
- Prosite model, naj prepiše kratke, jasne bloke besedila
- Dodajte omejitve: »Vrnite natančno velikost črk in ločila; če je nečitljivo, nastavite
confidence: low.«
UX Copilot za posnetke zaslona
- Vhod: posnetek zaslona aplikacije
- Izhod: koraki kot točke: »Kako centriram besedilo?« → model vrne pot menija
Nasveti za stroške in latenco
- Dajte prednost »Flash« za predoglede in iterativni UX; za končne preglede stopnjujte na večje različice Gemini
- Pomanjšajte na največji rob (npr. 1024 slikovnih pik), da zmanjšate pasovno širino, ne da bi izgubili ključne podrobnosti
- Ponovno uporabite vdelave ali vmesne povzetke pri veriženju nalog
Varnost, zasebnost in varnost
- Pred beleženjem redigirajte PII; uporabite zgoščevanje vsebine za ID-je slik
- Uveljavite dovoljene sezname velikosti/vrst: jpeg, png; zavrnite svg/exe
- Dodajte zaščitne ukrepe za pozive: »Zavrnite, če vas prosijo, da identificirate zasebne posameznike«
Primer: Mikrostoritev za opisovanje od začetka do konca
from fastapi import FastAPI, UploadFile, File
import base64, requests, os
app = FastAPI
API_KEY = os.getenv("API_KEY")
MODEL = "gemini-2.5-flash-image"
ENDPOINT = f"("/caption")
async def caption(file: UploadFile = File:
b = await file.read
b64 = base64.b64encode(b).decode("utf-8")
payload = {
"contents": [{
"role": "user",
"parts": [
{"text": "Vrnite jedrnat JSON s polji: caption, objects[]."},
{"inline_data": {"mime_type": file.content_type, "data": b64}}
]
}],
"generationConfig": {"temperature": 0.2, "maxOutputTokens": 200}
}
r = requests.post(f"{ENDPOINT}?key={API_KEY}", json=payload, timeout=30)
r.raise_for_status
return r.json
Odpravljanje težav
- Nejasni izhodi ali zamujeno besedilo: Manj pomanjšajte; zahtevajte vhod višje ločljivosti; izrecno zahtevajte OCR
- Nedosleden JSON: Dodajte naknadni procesor
strict_json ali zahtevajte ograjene bloke JSON ```json
- Halucinirane podrobnosti: Znižajte temperaturo; poučite »Če niste prepričani, odgovorite
nisem prepričan«
- Časovne omejitve: Pretočite odzive, če so na voljo; zmanjšajte velikost slike; nastavite krajše pozive
Mimogrede: Pospešite prototipiranje s Sider.AI
Če gradite veliko različic pozivov ali potrebujete hitre teste A/B za Gemini 2.5 Flash Image, vam lahko Sider.AI pomaga hitreje ponavljati. Lahko organizirate različice pozivov, izvajate vzporedna ocenjevanja na naboru slik in zajamete meritve latence in natančnosti brez ožičenja celotnega zaledja – priročno, ko prilagajate pozive za opisovanje, OCR ali vizualna vprašanja in odgovore.
Ključni zaključki
- Gemini 2.5 Flash Image je odličen za hitre, poceni multimodalne naloge
- Za zanesljivost uporabite natančne pozive, sheme JSON in nizke temperature
- Zgradite ponovljiv nabor za ocenjevanje in spremembe vrat z regresijskimi testi
- Optimizirajte latenco s pomanjševanjem, predpomnjenjem in združevanjem
- Razmislite o Sider.AI za hitro ponavljanje in eksperimentiranje s pozivi
Pogosta vprašanja
V1: Kaj je Gemini 2.5 Flash Image (nano banana)?
To je hiter, lahek multimodalni model, optimiziran za razumevanje slik in preproste popravke slik. Vzdevek »nano banana« se pogosto nanaša na notranjo oznako ali različico primera.
V2: Kako uporabim Gemini 2.5 Flash Image za opisovanje slik?
Pošljite besedilna navodila in sliko kot base64 na končno točko generateContent modela. Zahtevajte strukturiran JSON (opis, predmeti, bloki besedila) in ohranite nizko temperaturo za doslednost.
V3: Ali lahko Gemini 2.5 Flash Image obravnava OCR ali besedilo v slikah?
Da, za kratko in jasno besedilo. Določite natančne zahteve za prepis in vključite polje zaupanja. Za težko OCR razmislite o namenskemu orodju OCR poleg modela.
V4: Kako zmanjšam latenco in stroške z Gemini 2.5 Flash Image?
Pomanjšajte slike na razumen največji rob, združite zahteve in predpomnite stabilne rezultate. Uporabite nižje temperature in omejite maxOutputTokens za nadzor velikosti izhoda.
V5: Kako lahko Sider.AI pomaga pri gradnji z Gemini 2.5 Flash Image?
Sider.AI poenostavlja različice pozivov in ocenjevanje, tako da lahko izvajate teste A/B pozivov na naboru podatkov slik, spremljate meritve in hitreje promovirate zanesljive konfiguracije v proizvodnjo.