Meme Generator

این راهنما یک رویکرد عملی برای پیاده سازی یک برنامه کاربردی با استفاده از فراخوانی تابع با Gemma ارائه می دهد. این تکنیک را می توان از طریق مهندسی سریع و دقیق در نسخه های مختلف مدل Gemma اعمال کرد. می توانید اطلاعات بیشتری را در Beyond the Chatbot: Agentic AI with Gemma بیابید.

فراخوانی تابع توضیح داده شد

ساختار رایج برای فراخوانی تابع شامل چند مؤلفه کلیدی است که به Gemma اجازه می دهد تا با ابزارهای خارجی یا API ها تعامل داشته باشد.

  1. ابزارها را شرح دهید
    شما به مدل در مورد «ابزارها» (عملکردهایی) که می تواند استفاده کند بگویید. این شامل:

    • آنچه ابزار انجام می دهد (توضیحات)
    • ابزار به چه اطلاعاتی نیاز دارد (پارامترها)
  2. کاربر سوالی می پرسد
    شما از مدل یک سوال می پرسید یا به آن وظیفه می دهید

  3. جما تصمیم می گیرد
    مدل تشخیص می دهد که آیا به ابزاری برای پاسخ به سؤال شما نیاز دارد یا خیر.

  4. جما یک ابزار درخواست می کند
    اگر به ابزاری نیاز باشد، Gemma کدی را ایجاد می‌کند که با «کد_ابزار» پیچیده شده است.

  5. ابزار کار خود را انجام می دهد
    ابزار (تابع) اطلاعات را از مدل می گیرد و کاری را که قرار است انجام دهد انجام می دهد.

  6. ابزار نتایج را نشان می دهد
    جما انتظار دارد که نتیجه خود را با «خروجی_ابزار» بازگرداند

  7. جما پاسخ نهایی را می دهد
    این مدل از نتایج ابزار برای ایجاد یک پاسخ کامل و دقیق برای شما استفاده می کند.

نکات مفید

  • طرحواره JSON : استفاده از طرحواره JSON برای تعریف پارامترها، اگرچه اجباری نیست، مزایای ساختار سازگار و اعتبار سنجی خودکار را ارائه می دهد.
  • درک واضح : کیفیت توضیحات تابع برای مدل بسیار مهم است تا به درستی زمان استفاده از آن را تشخیص دهد.
  • رسیدگی به خطا : مدیریت دقیق خطا برای مدیریت مواردی که فراخوانی عملکرد شکست می خورد یا نتایج غیرمنتظره ای برمی گرداند ضروری است.
  • فرآیند تکراری : گاهی اوقات چندین نوبت مکالمه بین مدل و فراخوانی تابع وجود دارد.

نمونه دستورات و خروجی ها

می توانید کد این برنامه را در مخزن کد کتاب آشپزی Gemma پیدا کنید.

مرحله 1 و 2: ابزار را توصیف کنید و یک وظیفه بدهید

عکس خنده دار از گربه

ورودی: تصویری خنده دار از یک گربه
ورودی متن:

If you decide to invoke any of the function(s), it should be wrapped with ```tool_code```.

You have access to the following tools.

* `generate_meme(image, top_text, middle_text, bottom_text)`: Generate a meme with the given parameters

Make a funny meme with this. "meme.jpg"

مرحله 3: جما تصمیم می گیرد و ابزاری را درخواست می کند

این اعلان پاسخ زیر را ایجاد می کند:

Okay, here's a funny meme based on the image of the surprised cat:

```tool_code
generate_meme(image="meme.jpg", top_text="Me when I hear a creak", middle_text="Is it safe?", bottom_text="Probably not.")
```

مرحله 4: ابزار کار خود را انجام می دهد

شما خروجی مدل را با مکان یابی بلوک های کد، تجزیه آرگومان های تابع و اجرای توابع پردازش خواهید کرد.

خروجی نهایی از Meme Generator