Meme Generator

Bu kılavuzda, Gemma ile işlev çağrısı kullanarak uygulama uygulamaya yönelik pratik bir yaklaşım sunulmaktadır. Bu teknik, dikkatli istem mühendisliğiyle çeşitli Gemma model sürümlerine uygulanabilir. Daha fazla bilgiyi Beyond the Chatbot: Agentic AI with Gemma (Sohbet Botunun Ötesinde: Gemma ile Etkileyici Yapay Zeka) başlıklı makalede bulabilirsiniz.

İşlev Çağrıları Hakkında Açıklama

İşlev çağrımının ortak yapısı, Gemma'nın harici araçlar veya API'lerle etkileşim kurmasına olanak tanıyacak şekilde tasarlanmış birkaç temel bileşen içerir.

  1. Araçları açıklama
    Modele kullanabileceği "araçlar" (işlevler) hakkında bilgi verirsiniz. Bunlardan bazıları:

    • Aracın işlevi (açıklama)
    • Aracın ihtiyaç duyduğu bilgiler (parametreler)
  2. Kullanıcı soru sorar
    Modele soru sorar veya modele bir görev verirsiniz

  3. Gemma karar verir
    Model, sorunuzu yanıtlamak için bir araca ihtiyacı olup olmadığını belirler.

  4. Gemma bir araç ister
    Araca ihtiyaç duyulursa Gemma, ```tool_code``` ile sarmalanmış bir kod oluşturur

  5. Araç görevini yapar
    Araç (işlev), modelden bilgileri alır ve yapması gerekeni yapar.

  6. Araç sonuç döndürüyor
    Gemma, sonucunu ```tool_output``` ile sarmalanmış olarak bekliyor

  7. Gemma nihai yanıtı verir
    Model, sizin için eksiksiz ve doğru bir yanıt oluşturmak amacıyla aracın sonuçlarını kullanır.

Faydalı İpuçları

  • JSON şeması: Zorunlu olmasa da JSON şemasını parametre tanımları için kullanmak, tutarlı yapı ve otomatik doğrulama avantajları sunar.
  • Açık Anlama: Modelin işlevin ne zaman kullanılacağını doğru şekilde belirlemesi için işlevin açıklamasının kalitesi önemlidir.
  • Hata İşleme: İşlev çağrısının başarısız olduğu veya beklenmedik sonuçlar döndürdüğü durumları yönetmek için güçlü bir hata işleme gereklidir.
  • Yinelemeli Süreç: Bazen model ile işlev çağrıları arasında birden fazla konuşma döngüsü olur.

Örnek İstemler ve Çıktılar

Bu uygulamanın kodunu Gemma Cookbook kod deposunda bulabilirsiniz.

1. ve 2. adım: Aracı açıklayın ve bir görev verin

Bir kedinin komik resmi

Giriş: Bir kedinin komik resmi
Metin Giriş:

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. Adım: Gemma karar verir ve bir araç ister

Bu istem aşağıdaki yanıtı verir:

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. Adım: Araç işini yapar

Kod bloklarını bulup işlev bağımsız değişkenlerini ayrıştırarak ve işlevleri yürüterek modelin çıkışını işlersiniz.

Meme Generator'dan Nihai Çıkış