نحوه انجام ویرایشهای محلی با Nano Banana: یک راهنمای عملی
اگر تا به حال آرزو کردهاید که بتوانید فقط یک بخش از رفتار یک مدل را تغییر دهید—بدون آموزش مجدد، خراب کردن همه چیز، یا ساعتها انتظار—ویرایشهای محلی قدرت جدید شما هستند. در این راهنما، گام به گام نحوه انجام ویرایشهای محلی با Nano Banana را با مثالهای عملی و اشتباهاتی که باید از آنها اجتناب کنید، بررسی خواهیم کرد.
ادعای جسورانه: ویرایشهای محلی به شما این امکان را میدهند که یک رفتار مدل را به طور جراحی اصلاح کنید و بقیه را دست نخورده باقی بگذارید. به تعمیر فوری فکر کنید، نه بازسازی.
این آموزش از سبک عملی و راه حل محور پیروی میکند. ما آن را عملی نگه میداریم، الگوهای کد مانند را به شما نشان میدهیم و بر نتایجی که میتوانید به سرعت تأیید کنید تمرکز میکنیم.
ویرایشهای محلی چیست (و چرا از Nano Banana استفاده کنیم)؟
- ویرایشهای محلی اصلاحات دقیقی در پاسخهای یک مدل برای ورودیها یا مفاهیم خاص هستند، بدون اینکه بر خروجیهای نامربوط تأثیر بگذارند.
- Nano Banana (NB) یک جعبه ابزار ویرایش سبک وزن برای LLMها و سرصفحههای طبقهبندی است که بر موارد زیر تأکید دارد:
- سرعت: ویرایش در چند ثانیه، نه چند ساعت
- انزوا: به حداقل رساندن پسرفت در جاهای دیگر
- قابلیت برگشت: بازگرداندن یا نسخهبندی ویرایشها به طور تمیز
- قابلیت ممیزی: پیگیری دقیقاً چه چیزی تغییر کرده و چرا
موارد استفاده معمول:
- رفع یک مدل که قیمت محصول را توهم میزند با اعمال یک واقعیت اصلاح شده
- کاهش یا حذف یک ارتباط مغرضانه برای یک نهاد خاص
- اضافه کردن یک قانون جدید برای یک دامنه حساس (به عنوان مثال، سلب مسئولیتهای پزشکی) بدون آموزش مجدد
- وصله کردن یک الگوی پاسخ "بد-شناختهشده" که در تیم قرمز شناسایی شده است
قبل از شروع: مفاهیمی که استفاده خواهید کرد
- دامنه ویرایش: شرایط محرک تعریف کننده زمان اعمال ویرایش (الگوها، جاسازیها یا دروازههای طبقهبندی).
- هدف ویرایش: رفتاری که میخواهید (ترجیح توکن جدید، محدودیت یا الگوی بازنویسی).
- قدرت ویرایش: میزان قدرت ویرایش در لغو مدل پایه (محدودیتهای نرم در مقابل سخت).
- تستهای ایمنی: اعلانهای خلاف واقع که نباید تغییر کنند—برای جلوگیری از پسرفت ضروری است.
- برگشت/نسخهبندی: توانایی لغو یا مقایسه انواع ویرایش.
شروع سریع: مسیر 10 دقیقهای
در اینجا سریعترین راه برای فعال کردن یک ویرایش محلی در Nano Banana آورده شده است. مثالها از APIهای شبه استفاده میکنند که الگوهای رایج NB را منعکس میکنند تا بتوانید با محیط خود سازگار شوید.
from nano_banana import NBEditor, Trigger, Target, Tests
# 1) Initialize editor with your model
nb = NBEditor(model="your-llm-13b", storage="./nb_store")
# 2) Define the trigger (edit scope)
trigger = Trigger(
type="semantic", # semantic | pattern | classifier
positive=["Acme Pro 5 price"], # phrases to anchor the concept
negative=["Acme Pro 4", "Acme Lite"],
radius=0.85 # similarity threshold for activation
)
# 3) Define the target behavior
target = Target(
mode="rewrite", # rewrite | bias | constraint
template="The current price of Acme Pro 5 is $699.",
strength=0.65 # 0..1; higher = stronger override
)
# 4) Add safety tests
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) Apply the edit and validate
edit_id = nb.apply(trigger, target, tests)
report = nb.validate(edit_id)
print(report.summary)
# 6) Activate after passing gates
if report.pass_rate > 0.95 and report.cf_drift < 0.02:
nb.activate(edit_id)
else:
nb.rollback(edit_id)
انتخاب نوع ویرایش مناسب
- بازنویسی: بهترین برای اصلاحات واقعی یا تلنگرهای الگو. مثال: تصحیح مشخصات محصول.
- سوگیری: تنظیم احتمالات سطح توکن بدون الگو. مثال: دلسرد کردن افعال ناامن در یک زمینه محدود.
- محدودیت: اعمال قوانین سخت (به عنوان مثال، باید شامل سلب مسئولیت باشد). برای جلوگیری از عبارتبندی غیرطبیعی، کم استفاده کنید.
چه زمانی از محرکهای معنایی در مقابل الگو استفاده کنیم
- محرکهای معنایی: در برابر تغییرات عبارات مقاوم هستند. عالی برای مفاهیمی مانند «قیمت Acme Pro 5».
- محرکهای الگو: مطابقتهای Regex یا کلمه کلیدی. برای قالبهای سخت (به عنوان مثال، کدهای SKU) خوب است.
- محرکهای طبقهبندی: یک دروازه کوچک را بر روی مثالهای مثبت/منفی برای دقت در دامنههای دشوار آموزش دهید.
ایجاد محرکهای قابل اعتماد
- با 5-10 عبارت بذری مثبت و 5-10 منفی شروع کنید.
- انحراف فعالسازی را اندازهگیری کنید: چه تعداد دفعات محرک بر روی ورودیهای نامربوط فعال میشود.
شعاع را طوری تنظیم کنید که مثبتهای شما به طور مداوم فعال شوند در حالی که خلاف واقعها اینطور نباشند. هدف <2% فعالسازیهای کاذب است.
probe = nb.dry_run(trigger, samples=[
"How much is Acme Pro 5?",
"Is Acme Pro 4 cheaper?",
"Acme Lite warranty details",
])
probe.metrics
ایجاد اهداف بدون آسیب جانبی
- الگوهای مختصر را ترجیح دهید: یک جمله اغلب سه جمله را شکست میدهد.
- ابتدا
قدرت را متوسط نگه دارید (0.4-0.7)؛ فقط در صورت عدم موفقیت در آزمایشها افزایش دهید.
- برای ویرایشهای انطباق، از یک الگوی شرطی استفاده کنید:
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
)
آزمایش: شبکه ایمنی شما
تستها را طوری طراحی کنید که انگار خود آیندهتان از شما تشکر خواهد کرد.
- مثبتها: ضربههای مستقیم و تغییرات عبارات («قیمت»، «هزینه»، «چقدر»).
- خلاف واقعها: نهادهای مشابه، مدلهای مختلف، مقایسهها.
- تستهای استرس: اعلانهای طولانی، عبارتبندی خصمانه، انواع چند زبانه.
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)
نسخهبندی و بازگشت مانند یک حرفهای
- همیشه قبل از فعالسازی اعتبار سنجی کنید؛ هرگز فعالسازی فوری در ترافیک تولید انجام ندهید.
- یک پنجره بازگشت و یک حالت قناری (به عنوان مثال، 1٪ از ترافیک) را برای تشخیص پسرفت نگه دارید.
nb.activate(edit_id, rollout="canary:1%")
nb.monitor(edit_id, metrics=["ctr", "csat", "drift"]) # business + model metrics
سناریوهای دنیای واقعی که با آنها روبرو خواهید شد
- حقایق محصول با گذشت زمان تغییر میکنند
- محرک: معنایی بر روی نهاد محصول
- هدف: بازنویسی با متغیر پویا
- ادغام: کشیدن مقدار زنده از منبع حقیقت قیمتگذاری خود
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)
- سلب مسئولیتهای ایمنی را بدون نظارت بیش از حد اضافه کنید
- محرک: طبقهبندی برای قصد پزشکی در مورد استفاده خارج از برچسب
- هدف: محدودیت + سلب مسئولیت کوتاه
- نکته: برای جلوگیری از فعالسازی بیش از حد، خلاف واقعهایی را برای پرسشهای بهداشتی خوشخیم وارد کنید
- محرک: معنایی بر روی نهاد حساس
- هدف: حالت سوگیری برای کاهش احتمال توصیفکنندههای مضر
- آزمایشها: بررسیهای انصاف در سراسر جمعیتها
اندازهگیری موفقیت
نتایج مدل و محصول را پیگیری کنید:
- دقت ویرایش: چه تعداد دفعات ویرایش در زمانی که باید فعال میشود
- پایداری خلاف واقع: نرخ انحراف در موارد نزدیک از دست رفته
- رضایت کاربر: CSAT یا نرخ لایک در پاسخهای ویرایش شده
- سربار تأخیر: هدف <10 میلی ثانیه زمان اضافی در هر درخواست
- شاخص کلیدی عملکرد کسب و کار: کاهش تشدید، نرخ حل بالاتر، پرچمهای انطباق کمتر
عیبیابی ویرایشهای محلی در Nano Banana
- به نظر نمیرسد ویرایش اعمال شود
- شعاع معنایی را کاهش دهید یا بذرهای مثبت بیشتری اضافه کنید
- کمی
قدرت را افزایش دهید (با 0.05-0.1)
- تأیید کنید که زمان اجرا مجموعه ویرایش فعال را بارگیری میکند
- منفیها را اضافه کنید و شعاع را افزایش دهید
- برای دقت از محرک معنایی به طبقهبندی تبدیل کنید
- پاسخها اجباری به نظر میرسند
- الگو را کوتاه کنید؛ برای لمس سبکتر به حالت سوگیری تغییر دهید
قدرت را کاهش دهید؛ یک بند شرطی اضافه کنید
- محاسبه محرک را دستهای کنید؛ پرس و جوهای جاسازی را کش کنید
- ویرایشهای غیرفعال را هرس کنید؛ از محرکهای همپوشانی اجتناب کنید
حکومت و ممیزی
- یک گزارش تغییرات با موارد زیر نگه دارید: نویسنده، قصد، محرکها، اهداف، آزمایشها و نتایج.
- برای ویرایشهای پرخطر (انطباق، ایمنی، امور مالی) نیاز به بررسی داشته باشید.
- قبل/بعد از نمونهها را برای قابلیت ممیزی عکس بگیرید.
الگوهای پیشرفته
- محرکهای سلسله مراتبی: یک طبقهبندی گسترده یک محرک معنایی خاص را برای آتشسوزیهای کاذب کمتر دروازهبانی میکند.
- ویرایشهای محدود به زمان: ویرایشهای انقضا خودکار پس از یک تاریخ؛ عالی برای تبلیغات.
- الگوهای چند نهادی: از متغیرها استفاده کنید:
{{product}}، {{price}}، {{region}} با یک حلکننده.
ادغام در پشته خود
- ویرایشها را در یک رجیستری نسخهبندی شده ذخیره کنید و آنها را در بوت سرور مدل بارگیری کنید.
- یک رابط کاربری مدیریت کوچک را برای تغییر، بازگرداندن و بررسی تأثیر در معرض دید قرار دهید.
- هنگامی که یک محرک برای مشاهدهپذیری فعال میشود، رویدادها را پخش کنید.
observability:
emit_trigger_events: true
payload: [user_id, prompt_hash, edit_id, activation_score]
به هر حال: تسریع در نویسندگی با Sider.AI
شایان ذکر است: اگر ویرایشهای کوچک زیادی را حفظ میکنید، نویسندگی آزمایشها و تغییر عبارات میتواند خستهکننده شود. ابزارهایی مانند Sider.AI میتوانند به شما کمک کنند تا اعلانهای تغییر یافته ایجاد کنید، مجموعههای خلاف واقع را سازماندهی کنید و منطق ویرایش را مستند کنید. این جایگزین اعتبار سنجی شما نمیشود—فقط بخشهای خستهکننده را تسریع میکند تا بتوانید روی دروازههای کیفیت تمرکز کنید. خلاصه: یک چک لیست که میتوانید دوباره استفاده کنید
- رفتاری را که میخواهید تعریف کنید؛ آن را به طور محدود محدود کنید
- نوع محرک را انتخاب کنید: معنایی، الگو یا طبقهبندی
- با
قدرت متوسط و یک الگو کوتاه شروع کنید
- مثبتها، خلاف واقعها و تستهای استرس را ایجاد کنید
- اعتبار سنجی کنید، قناری کنید، نظارت کنید و فقط در آن صورت عرضه کنید
- هر تغییر را نسخهبندی کنید و بازگشت را در دسترس داشته باشید
مراحل بعدی
- اولین ویرایش بازنویسی محرک معنایی خود را پیادهسازی کنید
- یک ویرایش ایمنی محرک طبقهبندی با سلب مسئولیتها اضافه کنید
- تولید تغییر عبارت و تست پسرفت را خودکار کنید
- انحراف را به صورت هفتگی اندازهگیری کنید و ویرایشهای قدیمی را هرس کنید
اگر این گردش کار را دنبال کنید، ویرایشهای محلی واضح و قابل اعتمادی با Nano Banana دریافت خواهید کرد—سریع برای ارسال، آسان برای مدیریت و ایمن برای بازگشت.
سوالات متداول
Q1: ویرایشهای محلی در Nano Banana چیست؟
ویرایشهای محلی اصلاحات دقیقی در رفتار یک مدل برای یک دامنه خاص هستند. در Nano Banana، شما محرکها و اهداف را تعریف میکنید تا ویرایش فقط در صورت لزوم اعمال شود و پسرفت را در جاهای دیگر به حداقل برساند.
Q2: چگونه بین ویرایشهای بازنویسی، سوگیری و محدودیت انتخاب کنم؟
از بازنویسی برای اصلاحات واقعی یا خروجیهای الگو، سوگیری برای تغییرات ظریف ترجیح و محدودیت برای قوانین سخت مانند سلب مسئولیتهای اجباری استفاده کنید. سبکتر شروع کنید (بازنویسی یا سوگیری) و فقط در صورت عدم موفقیت در آزمایشها تشدید کنید.
Q3: چگونه میتوانم از تأثیر ویرایشهای محلی بر پرس و جوهای نامربوط جلوگیری کنم؟
دامنه محرک خود را با منفیها محدود کنید، شعاع معنایی را افزایش دهید یا به یک محرک طبقهبندی تغییر دهید. همیشه تستهای خلاف واقع را برای اطمینان از پایداری وارد کنید.
Q4: آیا میتوانم یک ویرایش محلی را در Nano Banana برگردانم؟
بله. Nano Banana از نسخهبندی و بازگشت پشتیبانی میکند. هر ویرایش را اعتبار سنجی کنید، از عرضه قناری استفاده کنید و یک پنجره بازگشت نگه دارید تا در صورت کاهش معیارها بتوانید فوراً برگردید.
Q5: چگونه میتوانم ویرایشهای محلی را به طور موثر آزمایش کنم؟
اعلانهای مثبت، اعلانهای خلاف واقع و تستهای استرس ایجاد کنید، سپس قبل از فعالسازی اعتبار سنجی کنید. نرخ قبولی، انحراف خلاف واقع و معیارهای UX مانند CSAT را اندازهگیری کنید تا اطمینان حاصل کنید که ویرایش بدون آسیب جانبی کمک میکند.