Gemma ile konuşulan dillerde görevler

Yapay zeka (AI) teknolojisini belirli bir konuşulan dilde kullanmak, birçok işletmenin bu teknolojiyi etkili bir şekilde kullanabilmesi için kritik bir ihtiyaçtır. Gemma model ailesinin çok dilli bazı özellikleri vardır. Ancak bu modeli İngilizce dışındaki dillerde kullanmak çoğu zaman ideal olandan daha az sonuç verir.

Neyse ki Gemma'ya, görevleri tamamlayabilmesi için konuşulan bir dilin tamamını öğretmeniz gerekmez. Ayrıca Gemma modellerini, düşündüğünüzden çok daha az veri ve çabayla belirli görevleri bir dilde tamamlayacak şekilde ayarlayabilirsiniz. Hedef dilinizde yaklaşık 20 istek ve beklenen yanıt örneği kullanarak Gemma'nın, birçok farklı iş sorununu size ve müşterilerinize en iyi şekilde hizmet edecek dilde çözmenizde yardımcı olmasını sağlayabilirsiniz.

Projenin geliştiricilerinden gelen analizler de dahil olmak üzere projeye ve nasıl genişletileceğine genel bakış için Spoken Language AI Assistant (Konuşma Dili Yapay Zeka Asistanı) Google Yapay Zeka ile Geliştirme videosuna göz atın. Bu projenin kodunu Gemma Cookbook kod deposunda da inceleyebilirsiniz. Aksi takdirde, aşağıdaki talimatları uygulayarak projeyi genişletmeye başlayabilirsiniz.

Genel Bakış

Bu eğitimde, Gemma ve Python ile oluşturulmuş bir konuşma dili görevi uygulaması oluşturma, çalıştırma ve genişletme konusunda size yol gösterilmektedir. Uygulama, ihtiyaçlarınıza göre değiştirebileceğiniz temel bir web kullanıcı arayüzü sunar. Uygulama, kurgusal bir Güney Kore fırınına gelen müşteri e-postalarına yanıt oluşturmak için tasarlanmıştır ve tüm dil girişi ve çıkışı tamamen Korecedir. Bu uygulama kalıbını, metin girişi ve metin çıkışı kullanan tüm iş görevlerinde ve tüm dillerde kullanabilirsiniz.

K-Mail web uygulaması kullanıcı arayüzünün ekran görüntüsü

Şekil 1. Kore'de fırınlara yönelik e-posta sorguları için proje kullanıcı arayüzü

Donanım gereksinimleri

Bu ayarlama işlemini, grafik işlem birimi (GPU) veya Tensor işlem birimi (TPU) ve mevcut modeli ve ayarlama verilerini barındıracak yeterli belleğe sahip bir bilgisayarda çalıştırın. Bu projede ince ayar yapılandırmasını çalıştırmak için yaklaşık 16 GB GPU belleği, yaklaşık aynı miktarda normal RAM ve minimum 50 GB disk alanı gerekir.

Bu eğitimdeki Gemma model ayarlama bölümünü, T4 GPU çalışma zamanına sahip bir Colab ortamı kullanarak çalıştırabilirsiniz. Bu projeyi bir Google Cloud sanal makine örneğinde oluşturuyorsanız örneği aşağıdaki gereksinimlere göre yapılandırın:

  • GPU donanımı: Bu projeyi çalıştırmak için NVIDIA T4 gerekir ve NVIDIA L4 veya daha yeni bir sürüm önerilir.
  • İşletim Sistemi: Linux'da Derin Öğrenme seçeneğini, özellikle de önceden yüklenmiş GPU yazılım sürücülerine sahip CUDA 12.3 M124 yüklü Derin Öğrenme Sanal Makinesi'ni seçin.
  • Önyükleme diski boyutu: Verileriniz, modelleriniz ve destekleyici yazılımlarınız için en az 50 GB disk alanı ayırın.

Proje ayarlama

Bu talimatlar, projeyi geliştirme ve test için hazırlama konusunda size yol gösterir. Genel kurulum adımları arasında ön koşul yazılımını yükleme, projeyi kod deposundan klonlama, birkaç ortam değişkeni belirleme, Python kitaplıklarını yükleme ve web uygulamasını test etme yer alır.

Yükleme ve yapılandırma

Bu projede, paketleri yönetmek ve uygulamayı çalıştırmak için Python 3 ve Sanal Ortamlar (venv) kullanılır. Aşağıdaki yükleme talimatları, Linux ana makine içindir.

Gerekli yazılımları yüklemek için:

  • Python için Python 3 ve venv sanal ortam paketini yükleyin.

    sudo apt update
    sudo apt install git pip python3-venv
    

Projeyi klonlama

Proje kodunu geliştirme bilgisayarınıza indirin. Proje kaynak kodunu almak için git kaynak denetimi yazılımına ihtiyacınız vardır.

Proje kodunu indirmek için:

  1. Aşağıdaki komutu kullanarak git deposunu klonlayın.

    git clone https://github.com/google-gemini/gemma-cookbook.git
    
  2. İsteğe bağlı olarak, yerel git deponuzu yalnızca proje dosyalarını içerecek şekilde ayarlayarak seyrek kontrol özelliğini kullanabilirsiniz.

    cd gemma-cookbook/
    git sparse-checkout set Gemma/spoken-language-tasks/
    git sparse-checkout init --cone
    

Python kitaplıklarını yükleme

Python paketlerini ve bağımlılıklarını yönetmek için venv Python sanal ortamı etkinleştirilmiş şekilde Python kitaplıklarını yükleyin. pip yükleyiciyle Python kitaplıklarını yüklemeden önce Python sanal ortamını etkinleştirdiğinizden emin olun. Python sanal ortamlarını kullanma hakkında daha fazla bilgi için Python venv belgelerine bakın.

Python kitaplıklarını yüklemek için:

  1. Terminal penceresinde spoken-language-tasks dizinine gidin:

    cd Gemma/spoken-language-tasks/
    
  2. Bu proje için Python sanal ortamını (venv) yapılandırın ve etkinleştirin:

    python3 -m venv venv
    source venv/bin/activate
    
  3. setup_python komut dosyasını kullanarak bu proje için gerekli Python kitaplıklarını yükleyin.

    ./setup_python.sh
    

Ortam değişkenlerini ayarlama

Kaggle kullanıcı adı ve Kaggle jeton anahtarı da dahil olmak üzere bu kod projesinin çalışması için gereken birkaç ortam değişkenini ayarlayın. Bu modelleri indirebilmek için bir Kaggle hesabınızın olması ve Gemma modellerine erişim izni istemeniz gerekir. Bu projede Kaggle Kullanıcı Adınızı ve Kaggle Jetonu Anahtarınızı, sırasıyla web uygulaması ve ayarlama programı tarafından okunan iki .env dosyasına ekleyeceksiniz.

Ortam değişkenlerini ayarlamak için:

  1. Kaggle dokümanlarında yer alan talimatları uygulayarak Kaggle kullanıcı adınızı ve jeton anahtarınızı alın.
  2. Gemma Kurulumu sayfasındaki Gemma'ya erişim talimatlarını uygulayarak Gemma modeline erişin.
  3. Projenin kopyasındaki şu konumların her birinde bir .env metin dosyası oluşturarak proje için ortam değişkeni dosyaları oluşturun:
    k-mail-replier/k_mail_replier/.env
    k-gemma-it/.env
    
  4. .env metin dosyalarını oluşturduktan sonra aşağıdaki ayarları her iki dosyaya da ekleyin:

    KAGGLE_USERNAME=<YOUR_KAGGLE_USERNAME_HERE>
    KAGGLE_KEY=<YOUR_KAGGLE_KEY_HERE>
    

Uygulamayı çalıştırma ve test etme

Projenin kurulumunu ve yapılandırmasını tamamladıktan sonra, doğru yapılandırdığınızı onaylamak için web uygulamasını çalıştırın. Projeyi kendi kullanımınız için düzenlemeden önce temel kontrol olarak bunu yapmanız gerekir.

Projeyi çalıştırmak ve test etmek için:

  1. Terminal penceresinde /k_mail_replier/ dizinine gidin:

    cd spoken-language-tasks/k-mail-replier/
    
  2. run_flask_app.sh komut dosyasını kullanarak uygulamayı çalıştırın:

    ./run_flask_app.sh
    
  3. Web uygulaması başlatıldıktan sonra program kodu, göz atıp test edebileceğiniz bir URL listeler. Bu adres genellikle şu şekildedir:

    http://127.0.0.1:5000/
    
  4. Web arayüzünde, modelden yanıt almak için ilk giriş alanının altındaki 답변 작성 düğmesine basın.

Uygulamayı çalıştırdıktan sonra modelden gelen ilk yanıt, ilk nesil çalıştırmadaki başlatma adımlarını tamamlaması gerektiğinden daha uzun sürer. Halihazırda çalışan bir web uygulamasında sonraki istem istekleri ve oluşturma işlemi daha kısa sürede tamamlanır.

Başvuruyu uzatma

Uygulamayı çalıştırdıktan sonra, kullanıcı arayüzünü ve iş mantığını değiştirerek sizinle veya işletmenizle alakalı görevlerde çalışacak şekilde genişletebilirsiniz. Ayrıca, uygulamanın üretken yapay zeka modeline gönderdiği istemin bileşenlerini değiştirerek uygulama kodunu kullanarak Gemma modelinin davranışını değiştirebilirsiniz.

Uygulama, kullanıcıdan gelen giriş verileriyle birlikte modele talimatlar sağlar ve modelin tam istemlerini gösterir. Modelin davranışını değiştirmek için bu talimatları değiştirebilirsiniz (ör. modelin istekteki bilgileri alıp JSON gibi yapılandırılmış veri biçimine koyması gerektiğini belirtebilirsiniz). Modelin davranışını değiştirmenin daha basit bir yolu, modelin yanıtı için ek talimatlar veya rehberlik sağlamaktır. Örneğin, oluşturulan yanıtların kibar bir tarzda yazılması gerektiğini belirtirsiniz.

İstem talimatlarını değiştirmek için:

  1. Konuşma dili görevi projesinde k-mail-replier/k_mail_replier/app.py kod dosyasını açın.
  2. app.py kodunda, get_prompt(): işlevine ek talimatlar ekleyin:

    def get_prompt():
        return "발신자에게 요청에 대한 감사를 전하고, 곧 자세한 내용을
            알려드리겠다고 정중하게 답장해 주세요. 정중하게 답변해 주세요!:\n"
    

Bu örnekte, Korece talimatlara "Lütfen kibar bir yanıt yazın" ifadesi eklenmiştir.

Ek istem talimatı sağlamak, üretilen çıktıyı önemli ölçüde etkileyebilir ve uygulanması çok daha az çaba gerektirir. Modelden istediğiniz davranışı elde edip edemeyeceğinizi görmek için önce bu yöntemi denemeniz gerekir. Ancak Gemma modelinin davranışını değiştirmek için istem talimatlarını kullanmanın da sınırları vardır. Özellikle, modelin genel giriş jetonu sınırı (Gemma 2 için 8.192 jeton) bu sınırın altında kalmanız için ayrıntılı istem talimatlarını sağladığınız yeni verilerin boyutuyla dengelemenizi gerektirir.

Ayrıca, Gemma'nın görevleri İngilizce dışında bir dilde yapmasını istediğinizde, temel modele talimat vermenin güvenilir ve yararlı sonuçlar vermesi pek olası değildir. Bunun yerine, modeli hedef dildeki örneklerle ayarlamalı ve ardından hassaslaştırılmış modelin çıktısında daha küçük düzenlemeler yapmak için istem talimatlarını değiştirmeyi düşünebilirsiniz.

Modeli ayarlayın

Gemma modelinde ince ayar yapmak, modelin İngilizce dışındaki bir dilde etkili bir şekilde yanıt vermesini sağlamanın önerilen yoludur. Ancak modelin bu dilde görevleri tamamlayabilmesi için hedef dilinizde akıcı bir şekilde konuşmanız gerekmez. Yaklaşık 20 örnekle, hedef dilinizde bir görev için temel işlevleri gerçekleştirebilirsiniz. Eğitimin bu bölümünde, belirli bir görev için belirli bir dilde Gemma modelinde hassas ayarlamayı nasıl ayarlayacağınız ve çalıştıracağınız açıklanmaktadır.

Aşağıdaki talimatlarda, sanal makine ortamında ince ayar işleminin nasıl gerçekleştirileceği açıklanmaktadır. Ancak bu ayar işlemini, bu proje için ilişkili Colab not defterini kullanarak da gerçekleştirebilirsiniz.

Donanım gereksinimleri

İnce ayar için gereken bilgi işlem gereksinimleri, projenin geri kalanı için gereken donanım gereksinimleriyle aynıdır. Giriş jetonlarını 256'ya, toplu boyutu ise 1'e sınırlarsanız T4 GPU çalışma zamanına sahip bir Colab ortamında ayarlama işlemini çalıştırabilirsiniz (eğer).

Verileri hazırlama

Bir Gemma modelini ayarlamaya başlamadan önce verileri ayarlamaya hazırlamanız gerekir. Bir modeli belirli bir görev ve dil için ayarlama yaparken, söz konusu hedef dilde bir dizi istek ve yanıt örneğine ihtiyacınız vardır. Bu örneklerde, istek metni (talimatlar olmadan) ve beklenen yanıt metni gösterilir. Başlamak için yaklaşık 20 örnek içeren bir veri kümesi hazırlamanız gerekir. Bu örnekler, çeşitli isteklerin yanı sıra ideal yanıtları temsil etmelidir. İsteklerin ve yanıtların tekrarlanmadığından emin olun. Aksi halde, model yanıtları tekrarlanabilir ve isteklerdeki varyasyonlara uygun şekilde düzenlenemeyebilir. Aşağıdaki tabloda, bu kod örneğinin veri kümesinden birkaç örnek kayıt gösterilmektedir:

İstek Yanıt
안녕하세요, 2주 뒤에 있을 아이 생일을 위해 3호 케이크 3개를 주문하고 싶은데 가능할까요? 안녕인님, 안녕인님 derecelendirildi. 2ม 뒤 아이 생 eklemesini 인한 3 OAuth 케이크 2인 아이 장 미찐사니장. 네, 3호 케이크 2개 주문 가능합니다. 아이 생일 케이크인 만큼 더욱 신경 써서 정성껏 준비하겠습니다. 혹시 원하시는 디자인이나 특별한 요청 사항이 있으시면 편하게 말씀해주세요. 픽업 날짜와 시간을 알려주시면 더욱 자세한 안내를 도와드리겠습니다. 다시 한번 문의 감사드리며, 아이 생일 진심으로 축하합니다! [가게 이름] 드림
안녕하세요, 9월 15일에 있을 아들의 돌잔치를 위해 케이크를 주문하고 싶습니다. - 케이크 종류: 생크림 케이크 - 크기: 2호 - 디자인: 아기자기한 동물 디자인 - 문구: "첫 생일 축하해, 사랑하는 아들!" - 픽 날짜 및 ห้อชง: 9월 14인 오후 3자 인벩 및 作 인능 장부니 니려자자면 밐사니이니니니 gönderiyoruz. 감사합니다. 김민지 드림 안녕하세요, 김민지 님, 9월 15일 아드님의 돌잔치를 위한 케이크 주문 문의 감사합니다. - 생크림 케이크 2호, 아기자기한 동물 디자인, "첫 생일 축하해, 사랑하는 아들!" Japon - 가격은 5만원입니다. 주문을 원하시면 연락 주세요 감사합니다. [가게 이름] 드림

Tablo 1. Koreli fırıncılık e-posta yanıtlayıcısı için ayarlama veri kümesinin kısmi listesi.

Veri biçimi ve yükleme

Kayıtları Python koduyla alma olanağınız olduğu sürece ayarlama verilerinizi veritabanı kayıtları, JSON dosyaları, CSV veya düz metin dosyaları da dahil olmak üzere uygun olan herhangi bir biçimde saklayabilirsiniz. Kolaylık sağlamak amacıyla örnek ayarlama programı, kayıtları bir online depodan alır. Bu örnekte, dönen programda ayar veri kümesi prepare_tuning_dataset() işlevi kullanılarak k-gemma-it/main.py modülüne yüklenir:

def prepare_tuning_dataset():
    tokenizer = keras_nlp.models.GemmaTokenizer.from_preset(model_id)

    # load data from repository (or local directory)
    from datasets import load_dataset
    ds = load_dataset(
        # Dataset : https://huggingface.co/datasets/bebechien/korean_cake_boss
        "bebechien/korean_cake_boss",
        split="train",
    )
    ...

Daha önce de belirtildiği gibi, istekleri ilişkili yanıtlarla birlikte alıp ayar kaydı olarak kullanılan bir metin dizesi halinde bir araya getirebildiğiniz sürece veri kümesini uygun bir biçimde saklayabilirsiniz.

Ayarlama kayıtlarını bir araya getirme

Gerçek ayarlama işleminde her istek ve yanıt, isteğin ve yanıtın içeriğini belirtmek için istem talimatları ve etiketleriyle tek bir dize halinde birleştirilir. Daha sonra bu ayarlama programı, dizeyi model tarafından kullanılması için jetona dönüştürür. Ayarlama kaydını bir araya getirme kodunu k-gemma-it/main.py modülü prepare_tuning_dataset() işlevinde aşağıdaki gibi görebilirsiniz:

def prepare_tuning_dataset():
    ...
    prompt_instruction = "다음에 대한 이메일 답장을 작성해줘."

    for x in data:
        item = f"<start_of_turn>user\n{prompt_instruction}\n\"{x['input']}\"<end_of_turn>\n<start_of_turn>model\n{x['output']}<end_of_turn>"
        length = len(tokenizer(item))
        # skip data if the token length is longer than our limit
        if length < token_limit:
            tuning_dataset.append(item)
            if(len(tuning_dataset)>=num_data_limit):
                break
    ...

Bu işlev, verileri okur ve Gemma modelini ayarlamak için veri sağlarken zorunlu biçim olan start_of_turn ve end_of_turn etiketleri ekleyerek biçimlendirir. Bu kod, her istek için bir prompt_instruction de ekler. Bu prompt_instruction'yi uygulamanıza uygun şekilde düzenlemeniz gerekir.

Model ağırlıkları oluşturma

Ayarlama verileri hazır ve yüklü olduğunda ayarlama programını çalıştırabilirsiniz. Bu örnek uygulamanın ayarlama işlemi, yeni model ağırlıkları oluşturmak için modeli düşük sıralı uyum veya LoRA tekniğiyle ayarlamak üzere Keras NLP kitaplığını kullanır. Tam hassasiyetli ayarlamaya kıyasla LoRA kullanmak, model ağırlıklarında yapılan değişiklikleri yaklaşık olarak hesapladığından önemli ölçüde daha fazla bellek tasarrufu sağlar. Ardından, modelin davranışını değiştirmek için bu yaklaşık ağırlıkları mevcut model ağırlıklarının üzerine yerleştirebilirsiniz.

İnce ayar çalıştırmasını gerçekleştirmek ve yeni ağırlıkları hesaplamak için:

  1. Terminal penceresinde k-gemma-it/ dizinine gidin.

    cd spoken-language-tasks/k-gemma-it/
    
  2. tune_model komut dosyasını kullanarak ayarlama işlemini çalıştırın:

    ./tune_model.sh
    

Ayarlama işlemi, kullanılabilir bilgi işlem kaynaklarınıza bağlı olarak birkaç dakika sürer. Ayarlama programı başarıyla tamamlandığında k-gemma-it/weights dizinine aşağıdaki biçime sahip yeni *.h5 ağırlık dosyaları yazar:

gemma2-2b_k-tuned_4_epoch##.lora.h5

Sorun giderme

Ayarlama başarıyla tamamlanmazsa bunun iki olası nedeni vardır:

  1. Bellek yetersiz / kaynaklar tükendi: Bu hatalar, ayarlama işlemi mevcut GPU belleğini veya CPU belleğini aşan bellek istediğinde ortaya çıkar. Ayarlama işlemi devam ederken web uygulamasını çalıştırmadığınızdan emin olun. 16 GB GPU belleği olan bir cihazda ayarlama yapıyorsanız token_limit değerini 256, batch_size değerini ise 1 olarak ayarlayın.
  2. GPU sürücüleri yüklü değil veya JAX ile uyumlu değil: Dönüşüm işlemi için, bilgi işlem cihazında JAX kitaplıklarının sürümüyle uyumlu donanım sürücülerinin yüklü olması gerekir. Daha fazla bilgi için JAX kurulumu belgelerine bakın.

Ayarlanmış modeli dağıtma

Ayarlama işlemi, ayarlama verilerine ve ayarlama uygulamasında ayarlanan toplam epoch sayısına göre birden fazla ağırlık oluşturur. Tuning programı varsayılan olarak her ayarlama dönemi için bir tane olmak üzere 20 model ağırlığı dosyası oluşturur. Art arda gelen her ayarlama dönemi, ayarlama verilerinin sonuçlarını daha doğru şekilde yeniden üreten ağırlıklar oluşturur. Ayarlama sürecinin terminal çıkışında her bir dönemin doğruluk oranlarını aşağıdaki gibi görebilirsiniz:

...
Epoch 14/20
10/10 ━━━━━━━━━━━━━━━━━━━━ 6s 567ms/step - loss: 0.4026 - sparse_categorical_accuracy: 0.8235
Epoch 15/20
10/10 ━━━━━━━━━━━━━━━━━━━━ 6s 569ms/step - loss: 0.3659 - sparse_categorical_accuracy: 0.8382
Epoch 16/20
10/10 ━━━━━━━━━━━━━━━━━━━━ 6s 571ms/step - loss: 0.3314 - sparse_categorical_accuracy: 0.8538
Epoch 17/20
10/10 ━━━━━━━━━━━━━━━━━━━━ 6s 572ms/step - loss: 0.2996 - sparse_categorical_accuracy: 0.8686
Epoch 18/20
10/10 ━━━━━━━━━━━━━━━━━━━━ 6s 574ms/step - loss: 0.2710 - sparse_categorical_accuracy: 0.8801
Epoch 19/20
10/10 ━━━━━━━━━━━━━━━━━━━━ 6s 575ms/step - loss: 0.2451 - sparse_categorical_accuracy: 0.8903
Epoch 20/20
10/10 ━━━━━━━━━━━━━━━━━━━━ 6s 575ms/step - loss: 0.2212 - sparse_categorical_accuracy: 0.9021

Doğruluk oranının nispeten yüksek (yaklaşık 0,80 ila 0,90) olmasını isterken oranın çok yüksek veya 1,00'a çok yakın olmasını istemezsiniz. Bunun nedeni, ağırlıkların ayarlama verilerine aşırı uyum sağlaması anlamına gelmesidir. Bu durumda model, ayarlama örneklerinden önemli ölçüde farklı olan isteklerde iyi performans göstermez. Varsayılan olarak dağıtım komut dosyası, genellikle 0,90 civarında bir doğruluk oranına sahip olan 17. dönem ağırlıklarını seçer.

Oluşturulan ağırlıkları web uygulamasına dağıtmak için:

  1. Terminal penceresinde k-gemma-it/ dizinine gidin.

    cd spoken-language-tasks/k-gemma-it/
    
  2. deploy_weights komut dosyasını kullanarak ayarlama işlemini çalıştırın:

    ./deploy_weights.sh
    

Bu komut dosyasını çalıştırdıktan sonra k-mail-replier/k_mail_replier/weights/ dizininde yeni bir *.h5 dosyası görürsünüz.

Yeni modeli test etme

Yeni ağırlıkları uygulamaya dağıttıktan sonra sıra yeni ayarlanan modeli denemeye gelir. Bunun için web uygulamasını yeniden çalıştırıp bir yanıt oluşturabilirsiniz.

Projeyi çalıştırmak ve test etmek için:

  1. Bir terminal penceresinde /k_mail_replier/ dizinine gidin.

    cd spoken-language-tasks/k-mail-replier/
    
  2. run_flask_app.sh komut dosyasını kullanarak uygulamayı çalıştırın:

    ./run_flask_app.sh
    
  3. Web uygulamasını başlattıktan sonra program kodu, göz atıp test edebileceğiniz bir URL listeler. Bu adres genellikle şudur:

    http://127.0.0.1:5000/
    
  4. Web arayüzünde, modelden yanıt almak için ilk giriş alanının altındaki 답변 작성 düğmesine basın.

Artık bir Gemma modelini ayarlayıp bir uygulamaya dağıttınız. Uygulamayla denemeler yapın ve ayarlanmış modelin göreviniz için oluşturma özelliğinin sınırlarını belirlemeye çalışın. Modelin iyi performans göstermediği senaryolar bulursanız isteği ekleyerek ve ideal bir yanıt sağlayarak bu isteklerden bazılarını ayarlama örneği veri listenize ekleyebilirsiniz. Ardından, ayarlama işlemini yeniden çalıştırın, yeni ağırlıkları yeniden dağıtın ve çıktıyı test edin.

Ek kaynaklar

Bu proje hakkında daha fazla bilgi için Gemma Cookbook kod deposuna göz atın. Uygulamayı oluşturma konusunda yardıma ihtiyacınız varsa veya diğer geliştiricilerle işbirliği yapmak istiyorsanız Google Developers Community Discord sunucusuna göz atın. Build with Google AI ile oluşturulan daha fazla proje için video oynatma listesine göz atın.