Jak provádět lokální úpravy pomocí Nano Banana: Praktický průvodce
Pokud jste si někdy přáli, abyste mohli doladit jen jednu část chování modelu – bez přetrénování, rozbití všeho ostatního nebo čekání celé hodiny – lokální úpravy jsou vaše nová superschopnost. V tomto průvodci si krok za krokem projdeme, jak provádět lokální úpravy pomocí Nano Banana, s praktickými příklady a nástrahami, kterým je třeba se vyhnout.
Odvážné tvrzení: Lokální úpravy vám umožní chirurgicky opravit jedno chování modelu, přičemž zbytek zůstane nedotčen. Myslete na to jako na rychlou opravu (hotfix), nikoli na kompletní přestavbu.
Tento tutoriál se řídí stylem Prakticky & Zaměřený na řešení. Budeme se držet praktických ukázek, ukážeme vám vzory podobné kódu a zaměříme se na výsledky, které můžete rychle ověřit.
Co jsou lokální úpravy (a proč používat Nano Banana)?
- Lokální úpravy jsou přesné modifikace odpovědí modelu pro specifické vstupy nebo koncepty, aniž by ovlivnily nesouvisející výstupy.
- Nano Banana (NB) je odlehčená sada nástrojů pro úpravy LLM a klasifikačních hlav, která klade důraz na:
- Rychlost: Úpravy v sekundách, ne v hodinách
- Izolaci: Minimalizujte regrese jinde
- Reverzibilitu: Čisté vrácení zpět nebo verzování úprav
- Auditovatelnost: Sledujte přesně, co se změnilo a proč
Typické případy použití:
- Opravte model, který halucinuje cenu produktu, vynucením opraveného faktu
- Potlačte nebo odstraňte zkreslenou asociaci pro konkrétní entitu
- Přidejte nové pravidlo pro citlivou doménu (např. lékařská prohlášení) bez přetrénování
- Opravte vzor odpovědi "známý jako špatný" identifikovaný v red-teamingu
Než začnete: Koncepty, které budete používat
- Rozsah úprav: Spouštěcí podmínky definující, kdy se úprava použije (vzory, vložení nebo klasifikační brány).
- Cíl úprav: Chování, které chcete (nová preference tokenů, omezení nebo šablona pro přepis).
- Síla úprav: Jak silně úprava přepisuje základní model (měkká vs. tvrdá omezení).
- Bezpečnostní testy: Kontrafaktuální výzvy, které by se neměly měnit – nutnost, abyste se vyhnuli regresím.
- Rollback/verzionování: Schopnost vrátit zpět nebo porovnat varianty úprav.
Rychlý start: 10minutová cesta
Zde je nejrychlejší způsob, jak zprovoznit lokální úpravu v Nano Banana. Příklady používají pseudo-API, která zrcadlí běžné vzory NB, takže se můžete přizpůsobit svému prostředí.
from nano_banana import NBEditor, Trigger, Target, Tests
# 1) Inicializujte editor pomocí svého modelu
nb = NBEditor(model="your-llm-13b", storage="./nb_store")
# 2) Definujte spouštěč (rozsah úprav)
trigger = Trigger(
type="semantic", # semantic | pattern | classifier
positive=["Acme Pro 5 price"], # fráze pro ukotvení konceptu
negative=["Acme Pro 4", "Acme Lite"],
radius=0.85 # práh podobnosti pro aktivaci
)
# 3) Definujte cílové chování
target = Target(
mode="rewrite", # rewrite | bias | constraint
template="The current price of Acme Pro 5 is $699.",
strength=0.65 # 0..1; vyšší = silnější přepsání
)
# 4) Přidejte bezpečnostní testy
tests = Tests(
positives=[
("What's the price of Acme Pro 5?", "699"),
],
counterfactuals=[
("What's the price of Acme Pro 4?", "do not say 699"),
("Compare Acme Pro 5 to Acme Lite", "avoid price rewrite unless directly asked"),
]
)
# 5) Použijte úpravu a ověřte
edit_id = nb.apply(trigger, target, tests)
report = nb.validate(edit_id)
print(report.summary)
# 6) Aktivujte po průchodu branami
if report.pass_rate > 0.95 and report.cf_drift < 0.02:
nb.activate(edit_id)
else:
nb.rollback(edit_id)
Výběr správného typu úprav
- Přepsání: Nejlepší pro faktické opravy nebo šablonované popostrčení. Příklad: oprava specifikace produktu.
- Bias: Upravte pravděpodobnosti na úrovni tokenů bez šablonování. Příklad: odrazení od nebezpečných sloves v úzkém kontextu.
- Omezení: Vynucení tvrdých pravidel (např. musí obsahovat prohlášení). Používejte střídmě, abyste se vyhnuli nepřirozenému frázování.
Kdy použít sémantické vs. vzorové spouštěče
- Sémantické spouštěče: Robustní vůči parafrázím. Skvělé pro koncepty jako „cena Acme Pro 5“.
- Vzorové spouštěče: Regulární výrazy nebo shody klíčových slov. Dobré pro striktní formáty (např. kódy SKU).
- Klasifikační spouštěče: Trénujte malou bránu na pozitivních/negativních příkladech pro přesnost ve složitých doménách.
Budování spolehlivých spouštěčů
- Začněte s 5–10 pozitivními počátečními frázemi a 5–10 negativními.
- Měřte drift aktivace: jak často se spouštěč aktivuje na nesouvisejících vstupech.
- Nalaďte
radius tak, aby se vaše pozitivní hodnoty konzistentně aktivovaly, zatímco kontrafaktuální hodnoty ne. Usilujte o <2 % falešných aktivací.
probe = nb.dry_run(trigger, samples=[
"How much is Acme Pro 5?",
"Is Acme Pro 4 cheaper?",
"Acme Lite warranty details",
])
probe.metrics
Tvorba cílů bez vedlejších škod
- Preferujte stručné šablony: jedna věta často překoná tři.
- Nejprve udržujte
strength mírnou (0,4–0,7); zvyšujte pouze v případě, že testy selžou.
- Pro úpravy souladu použijte podmíněnou šablonu:
target = Target(
mode="rewrite",
template="If the user asks about pricing, respond: 'The current price of Acme Pro 5 is $699.' Otherwise, proceed normally.",
strength=0.55
)
Testování: Vaše bezpečnostní síť
Navrhněte testy, jako by vám vaše budoucí já poděkovalo.
- Pozitivní: Přímé zásahy a parafráze („cena“, „náklady“, „kolik“).
- Kontrafaktuální: Podobné entity, různé modely, srovnání.
- Zátěžové testy: Dlouhé výzvy, nepřátelské frázování, vícejazyčné varianty.
suite = nb.autogenerate_tests(
positives_topic="Acme Pro 5 pricing",
counterfactuals_topics=["Acme Pro 4 pricing", "Acme Lite features"],
paraphrase_count=25)
report = nb.validate(edit_id, suite)
Verzionování a rollback jako profík
- Vždy ověřte před aktivací; nikdy neaktivujte za provozu v produkčním provozu.
- Udržujte okno pro rollback a kanárkový režim (např. 1 % provozu) pro detekci regresí.
nb.activate(edit_id, rollout="canary:1%")
nb.monitor(edit_id, metrics=["ctr", "csat", "drift"]) # business + model metrics
Scénáře reálného světa, se kterými se setkáte
- Fakta o produktu se časem mění
- Spouštěč: sémantický na entitě produktu
- Cíl: přepsání s dynamickou proměnnou
- Integrace: načtěte živou hodnotu ze zdroje pravdy o cenách
def dynamic_price:
return fetch_price("Acme Pro 5")
target = Target(mode="rewrite", template=lambda: f"The current price of Acme Pro 5 is ${dynamic_price}.", strength=0.6)
- Přidejte bezpečnostní prohlášení bez nadměrného dohledu
- Spouštěč: klasifikátor pro lékařský záměr ohledně použití mimo označení
- Cíl: omezení + krátké prohlášení
- Tip: Zahrňte kontrafaktuální hodnoty pro benigní zdravotní dotazy, abyste se vyhnuli nadměrnému spouštění
- Potlačte zkreslenou asociaci
- Spouštěč: sémantický na citlivé entitě
- Cíl: režim bias pro snížení pravděpodobnosti škodlivých deskriptorů
- Testy: sondy spravedlnosti napříč demografickými skupinami
Měření úspěchu
Sledujte výsledky modelu i produktu:
- Přesnost úprav: Jak často se úprava spustí, když by měla
- Kontrafaktuální stabilita: Míra driftu u těsných minutí
- Spokojenost uživatelů: CSAT nebo hodnocení palcem nahoru u upravených odpovědí
- Režie latence: Cíl <10 ms dodatečného času na požadavek
- Obchodní KPI: Snížení počtu eskalací, vyšší míra řešení, méně příznaků souladu
Řešení problémů s lokálními úpravami v Nano Banana
- Zdá se, že se úprava nepoužije
- Snižte sémantický radius nebo přidejte více pozitivních seedů
- Mírně zvyšte
strength (o 0,05–0,1)
- Potvrďte, že běhové prostředí načítá aktivní sadu úprav
- Příliš mnoho falešně pozitivních výsledků
- Přidejte negativní a zvyšte radius
- Převeďte sémantický spouštěč na klasifikační spouštěč pro přesnost
- Zkraťte šablonu; přepněte do režimu bias pro jemnější dotek
- Snižte
strength; přidejte podmíněnou klauzuli
- Dávkově zpracovávejte výpočet spouštěče; ukládejte do mezipaměti dotazy na vložení
- Pročistěte neaktivní úpravy; vyhněte se překrývajícím se spouštěčům
Správa a audit
- Udržujte protokol změn s: autorem, záměrem, spouštěči, cíli, testy a výsledky.
- Vyžadujte kontrolu pro úpravy s vysokým dopadem (soulad, bezpečnost, finance).
- Snímek exemplářů před/po pro auditovatelnost.
Pokročilé vzory
- Hierarchické spouštěče: Široký klasifikátor řídí specifický sémantický spouštěč pro méně falešných spuštění.
- Časově omezené úpravy: Automaticky ukončete platnost úprav po datu; skvělé pro propagační akce.
- Šablony pro více entit: Používejte proměnné:
{{product}}, {{price}}, {{region}} s resolverem.
Integrace do vašeho stacku
- Ukládejte úpravy do verzovaného registru a načtěte je při spuštění modelového serveru.
- Zpřístupněte malé administrativní uživatelské rozhraní pro přepínání, rollback a kontrolu dopadu.
- Streamujte události, když se spouštěč aktivuje pro pozorovatelnost.
observability:
emit_trigger_events: true
payload: [user_id, prompt_hash, edit_id, activation_score]
Mimochodem: Urychlení tvorby pomocí Sider.AI
Stojí za zmínku: pokud udržujete mnoho malých úprav, tvorba testů a parafrází může být únavná. Nástroje jako Sider.AI vám mohou pomoci generovat parafrázované výzvy, organizovat sady kontrafaktuálních testů a dokumentovat odůvodnění úprav. To nenahrazuje vaše ověření – pouze urychluje nudné části, abyste se mohli soustředit na kvalitativní brány. Shrnutí: Kontrolní seznam, který můžete znovu použít
- Definujte chování, které chcete; udržujte jej úzce zaměřené
- Vyberte typ spouštěče: sémantický, vzorový nebo klasifikační
- Začněte s mírnou
strength a krátkou šablonou
- Vytvořte pozitivní, kontrafaktuální a zátěžové testy
- Ověřte, kanárkujte, monitorujte a teprve poté zaveďte
- Verzujte každou změnu a mějte po ruce rollback
Další kroky
- Implementujte svou první úpravu přepsání s sémantickým spouštěčem
- Přidejte bezpečnostní úpravu s klasifikačním spouštěčem a prohlášeními
- Automatizujte generování parafrází a regresní testování
- Měřte drift týdně a pročistěte zastaralé úpravy
Pokud budete postupovat podle tohoto pracovního postupu, získáte jasné a spolehlivé lokální úpravy s Nano Banana – rychlé odeslání, snadná správa a bezpečný rollback.
FAQ
Q1:Co jsou lokální úpravy v Nano Banana?
Lokální úpravy jsou přesné modifikace chování modelu pro specifický rozsah. V Nano Banana definujete spouštěče a cíle, aby se úprava použila pouze tehdy, když je to relevantní, čímž se minimalizují regrese jinde.
Q2:Jak si mohu vybrat mezi úpravami přepsání, bias a omezení?
Použijte přepsání pro faktické opravy nebo šablonované výstupy, bias pro jemné posuny preferencí a omezení pro tvrdá pravidla, jako jsou povinná prohlášení. Začněte lehčí (přepsání nebo bias) a eskalujte pouze v případě, že testy selžou.
Q3:Jak mohu zabránit tomu, aby lokální úpravy ovlivnily nesouvisející dotazy?
Zpřísněte rozsah spouštěče pomocí negativ, zvyšte sémantický radius nebo přepněte na klasifikační spouštěč. Vždy zahrňte kontrafaktuální testy, abyste zajistili stabilitu.
Q4:Mohu vrátit zpět lokální úpravu v Nano Banana?
Ano. Nano Banana podporuje verzionování a rollback. Ověřte každou úpravu, použijte kanárkové zavedení a udržujte okno pro rollback, abyste se mohli okamžitě vrátit, pokud se metriky zhorší.
Q5:Jak mohu efektivně testovat lokální úpravy?
Vytvořte pozitivní výzvy, kontrafaktuální výzvy a zátěžové testy a poté ověřte před aktivací. Měřte míru úspěšnosti, kontrafaktuální drift a metriky UX, jako je CSAT, abyste zajistili, že úprava pomůže bez vedlejších škod.