Google Cloud Shell Düzenleyici'de Geliştiriciler İçin Gemini Code Assist Standard ve Enterprise Turu

1. Giriş

Bu laboratuvarda, Google Cloud'da yapay zeka destekli bir ortak çalışan olan Gemini Code Assist'i kullanacaksınız. Gemini Chat'i ve satır içi kod yardımını kullanarak nasıl kod oluşturabileceğinizi, kodları anlayabileceğinizi ve diğer yapay zeka destekli kodlama görevlerini nasıl gerçekleştirebileceğinizi öğreneceksiniz.

Yapacaklarınız...

  • Web uygulaması için mevcut bir kod şablonunu indirmek üzere Cloud Shell IDE'yi kullanacaksınız.
  • Google Cloud hakkında genel sorular sormak için Cloud Shell IDE'de Gemini Chat'i kullanacaksınız.
  • Kod oluşturmak, özetlemek ve tamamlamak için Cloud Shell IDE'de satır içi kod yardımı olan Gemini Code Assist'i kullanacaksınız.

Öğrenecekleriniz...

  • Kod oluşturma, kodu tamamlama ve kodu özetleme gibi çeşitli geliştirici görevleri için Gemini Code Assist'i kullanma
  • Google Cloud hakkında bilgi edinmek için Cloud Assist'i kullanma

İhtiyacınız olanlar...

  • Chrome web tarayıcısı
  • Gmail hesabı
  • Faturalandırmanın etkin olduğu bir Cloud projesi
  • Cloud projeniz için Gemini Code Assist'in etkinleştirilmesi

Bu laboratuvar, yeni başlayanlar da dahil olmak üzere her seviyeden geliştiriciye yöneliktir. Örnek uygulama Python dilinde olsa da neler olduğunu anlamak için Python programlamayı bilmeniz gerekmez. Bu oturumda, geliştiriciler için Gemini Code Assist'in özelliklerini tanımaya odaklanacağız.

2. Kurulum

Bu bölümde, laboratuvara başlamak için yapmanız gereken her şey açıklanmaktadır.

Google Cloud projesinde Cloud Assist'i etkinleştirme

Şimdi Google Cloud projemizde Cloud Assist'i etkinleştireceğiz. Aşağıdaki adımları uygulayın:

  1. https://console.cloud.google.com adresini ziyaret edin ve bu laboratuvarda çalışmayı planladığınız Google Cloud projesini seçtiğinizden emin olun. Sağ üstte gördüğünüz Gemini'ı Aç simgesini tıklayın.

2d8b6827f2ff9870.png

  1. Cloud Assist sohbet penceresi, konsolun sağ tarafında açılır. Aşağıda gösterilen düğmeyi tıklayın. Etkinleştirdiği API'leri vurgulayan başka bir ekran gösterilir. Varsayılan ayarları kullanıp Etkinleştir düğmesini tıklayın.

Etkinleştir düğmesini görmeyip bunun yerine bir sohbet arayüzü görüyorsanız Cloud Assist'i proje için daha önce etkinleştirmiş olabilirsiniz. Bu durumda doğrudan bir sonraki adıma geçebilirsiniz.

b4322e74dc190d18.png

  1. Etkinleştirildikten sonra bir veya iki istemde bulunarak Cloud Assist'i deneyebilirsiniz. Birkaç örnek sorgu gösterilse de What is Cloud Run? gibi bir sorgu deneyebilirsiniz.

9353a6ebc3cb1363.png

Cloud Assist, sorunuzun yanıtını verir. Cloud Destek Asistanı sohbet penceresini kapatmak için sağ üst köşedeki X simgesini tıklayabilirsiniz.

Cloud Shell IDE'de Gemini Code Assist'i etkinleştirme

Bu codelab'in geri kalanında, tamamen yönetilen bir Code OSS tabanlı geliştirme ortamı olan Cloud Shell IDE'yi kullanacağız. Cloud Shell IDE'de Code Assist'i etkinleştirip yapılandırmamız gerekiyor. Adımlar aşağıda verilmiştir:

  1. ide.cloud.google.com adresini ziyaret edin. IDE'nin görünmesi biraz zaman alabilir. Lütfen bekleyin. Aşağıdakine benzer bir ekran görürsünüz. Gemini Code Assist penceresi en sağdaki bölmede açılır.

231baed212e3f01c.png

  1. Alt durum çubuğunda Cloud Code - Sign in (Cloud Code - Oturum aç) düğmesini görüyorsanız düğmeyi tıklayın ve eklentiyi talimatlara göre yetkilendirin. Durum çubuğunda "Cloud Code - no project" (Cloud Code - proje yok) ifadesini görürseniz bu ifadeyi ve ardından çalışmayı planladığınız projeler listesinden belirli bir Google Cloud projesini seçin.
  2. Aşağıda gösterildiği gibi, arama çubuğunun sağındaki Gemini Chat açılır listesini kullanarak Gemini Code Assist'i istediğiniz zaman etkinleştirebilir veya devre dışı bırakabilirsiniz. Gemini Code Assist sohbetinin sağ bölmede görünmesi için Gemini Code Assist Sohbetini Aç seçeneğini tıklayın.

15344d8cfa7dd2a7.png

Gemini Code Assist kullanıma hazır!

İsteğe bağlı: IDE'de Gemini Code Assist bölmesini göremiyorsanız Gemini Code Assist'in etkinleştirilip etkinleştirilmediğini kontrol edin. Bunu yapmak için Ayarlar'a gidin ve aşağıda gösterildiği gibi Gemini Code Assist'i etkinleştirme seçeneğini arayın. Ayarı seçin.

1eea5294d2906667.png

3. Örnek uygulamayı oluşturma

Gemini Code Assist'in özelliklerini keşfetmek için kullanacağımız bir örnek uygulama (Python Flask uygulaması) oluşturacağız.

Şu adımları uygulayın:

  1. Aşağıdaki durum çubuğunda Google Cloud proje adını tıklayın.

3b342e4434748f6d.png

  1. Bir seçenek listesi gösterilir. Aşağıdaki listeden Yeni Uygulama'yı tıklayın.

84e1aa521cfa1924.png

  1. Cloud Run uygulamasını seçin.
  2. Python (Flask): Cloud Run uygulama şablonunu seçin.
  3. Yeni uygulamayı tercih ettiğiniz konuma kaydedin.
  4. Başvurunuzun oluşturulduğunu onaylayan bir bildirim gösterilir ve başvurunuzun yüklendiği yeni bir pencere açılır (aşağıda gösterildiği gibi). README.md dosyası açılır. Şimdilik bu görünümü kapatabilirsiniz.

7ade978bab5f6959.png

4. Gemini ile sohbet edin

İlk olarak Gemini ile nasıl sohbet edeceğinizi öğreneceğiz. Daha önce açıklandığı gibi, sağ panelde Gemini Code Assist Sohbet'i açın.

Bu işlemi yaptıktan sonra Google Cloud ile ilgili yardım almak için Gemini ile sohbet edebilirsiniz.

599f65b2a297e9c5.png

İstem girmek ve Gemini'ın yanıtını görüntülemek için Gemini sohbet bölmesini kullanabiliriz. Aşağıdaki istemi girin:

What is Cloud Run? 

Gemini, Cloud Run ile ilgili ayrıntıları yanıt olarak vermelidir. İstemler, ihtiyacınız olan yardımı açıklayan sorular veya ifadelerdir. İstemler, Google Cloud'un daha faydalı veya eksiksiz yanıtlar sağlamak için analiz ettiği mevcut kodlardan bağlam içerebilir. İyi yanıtlar oluşturmak için istem yazma hakkında daha fazla bilgi edinmek istiyorsanız Google Cloud'da Gemini için daha iyi istemler yazma başlıklı makaleyi inceleyin.

Google Cloud hakkında soru sormak için aşağıdaki örnek istemleri veya kendi istemlerinizi deneyin:

  • What is the difference between Cloud Run and Cloud Functions?
  • What services are available on Google Cloud to run containerized workloads?
  • What are the best practices to optimize costs while working with Google Cloud Storage?

5. Kod Açıklaması

Gemini Code Assist, bağlam değiştirmeyi en aza indirirken üretkenliğinizi artırmanıza yardımcı olmak için doğrudan kod düzenleyicinizde yapay zeka destekli akıllı işlemler sunar. Kod düzenleyicinizde kodunuzu seçtiğinizde, bağlamınızla alakalı işlemlerin listesini görüntüleyip bu listeden seçim yapabilirsiniz.

Uygulama kodunun bölümlerini anlamak için Gemini Code Assist'i kullanabilirsiniz. Önceki adımda oluşturduğumuz uygulamaya dönün. Gemini Code Assist'i kullanarak IDE'nizde bulunan dosyaları ve kodları açıklayabilirsiniz.

  1. Dosyalar görünmüyorsa IDE etkinlik çubuğunda Gezgin'i ( Code OSS Explorer menüsü) tıklayın.
  2. Gezgin bölmesinde Dockerfile'ı seçin.
  3. Dosya içeriğinin herhangi bir bölümünü seçebilir, ampul simgesini ( Code OSS Duet AI ampulü) ve ardından Gemini: Bunu açıkla'yı tıklayabilirsiniz. Örneğin, ENTRYPOINT ile başlayan satırı seçin, ampul simgesini ( Code OSS Duet AI ampulü) ve ardından Gemini: Bunu açıkla'yı tıklayın. Gemini, Dockerfile'ın hakkında daha fazla bilgiye ihtiyacınız olan bölümüyle ilgili doğal dilde bir açıklama oluşturur. Gemini, ENTRYPOINT talimatıyla ilgili ayrıntıları içeren bir yanıt verir. Bu talimatla Docker'ın, kapsayıcı başlatıldığında app.py dosyasını çalıştıracağını öğrenirsiniz.
  4. app.py dosyasının içeriğini görüntülemek için etkinlik çubuğunda Gezgin'i ( Code OSS Explorer menüsü) tıklayın ve ardından app.py'ı seçin.
  5. hello() işlev tanımında, hakkında daha fazla bilgi edinmek istediğiniz satırları seçebilirsiniz. Ardından ampulü ( Code OSS Duet AI ampulü) ve Gemini : Bunu açıkla'yı tıklayın. Örneğimizde, aşağıdaki iki kod satırını seçip Gemini: Bunu açıkla işlemini tetikledik.

a1e29872520d0d0e.png

  1. Gemini, bu iki Cloud Run ortam değişkeni (K_SERVICE, K_REVISION) ve bunların uygulama kodunda nasıl kullanıldığıyla ilgili ayrıntılı bir açıklama yaparak yanıt verir. Google Cloud ve Cloud Run gibi hizmetler hakkındaki bilgileriyle Gemini'ın yalnızca Python kodunu açıklamakla kalmayıp bu değişkenlerin Cloud Run'daki anlamı hakkında da bilgi verdiğini unutmayın.

Kod açıklaması almak için aşağıdaki ek yöntemleri deneyin:

  1. app.py dosyasını IDE'de şu anda açık olan dosya olarak tutun. VS Code'daki sol gezinme çubuğunda Gemini ile etkileşim bölmesine gidin ve Explain this file istemini girin. Bu işlemde dosyanın tamamı dikkate alınır ve size açıklanır.
  2. Ayrıca dosyanın herhangi bir bölümünü seçip soldaki Gemini ile etkileşim bölmesini kullanarak Bunu açıkla istemini girebilirsiniz. Bu işlem, dosyanın yalnızca seçilen bölümünü açıklar. Bu, ampul( Code OSS Duet AI ampulü) simgesini ve ardından Gemini: Bunu açıkla'yı tıklamaya benzer.

6. İstemlerle kod oluşturma

Bu bölümde, Gemini Code Assist'i kullanarak yorumlardan nasıl kod oluşturacağınız gösterilmektedir.

Bu özellikleri deneyelim. Aşağıdaki adımları uygulayın:

  1. utils.py adlı yeni bir dosya oluşturun.
  2. Yeni kod dosyanızda yeni bir satıra # Function to print a list of blobs in a Google Cloud Storage bucket girin ve ardından Enter (Windows ve Linux için) veya Return (MacOS için) tuşuna basın. Gemini, siz yazarken kod oluşturmaya çalışabilir ancak bunu kabul etmeyin. Bir sonraki adımda özellikle kod oluşturma işlemini tetikleyeceğiz.
  3. Kod oluşturmayı tetiklemek için Control+Enter (Windows ve Linux için) veya Control+Return (MacOS için) tuşuna basın. Gemini Code Assist, Python dosyasındaki istem metninizin yanında kodu hayalet metin biçiminde oluşturur. Bu araç, kodla ilgili bir veya daha fazla öneri sunar. Birden fazla öneri olması durumunda, araç çubuğu aracılığıyla bir kod önerisinden diğerine gidebilirsiniz. Hatta araç çubuğunu kullanarak kod önerilerini kabul edebilirsiniz. Araç çubuğunu göremiyorsanız veya araç çubuğu kaybolursa tekrar görünmesi için oluşturulan kodun üzerine gelin.
  4. İsteğe bağlı: Oluşturulan kodu kabul etmek için Tab tuşuna basın. Birden fazla öneri varsa bir önerilen kod snippet'inden diğerine gitmek için Tab tuşuna birden fazla kez basabilirsiniz.

Bu işlem, kabul ettiğiniz kodu utils.py dosyasına ekler. Örnek ekran görüntüsü aşağıda gösterilmektedir. Size sağlanan kod, aşağıda gösterilenden farklı olabilir. Ek yöntemler oluşturulursa kodu kabul ettikten sonra bu yöntemleri silebilirsiniz.

d0800c95710b2b5f.png

(İsteğe bağlı) Kod oluşturma için deneyebileceğiniz birkaç öneri daha:

  1. Aynı istemi sormak ve yanıtı sohbet penceresinde almak için Gemini ile etkileşim özelliğini de kullanabilirsiniz. Ardından Chat arayüzünde kodu kopyalama veya mevcut dosyaya ekleme seçenekleri gösterilir.
  2. İstediğiniz örnek kod için kendi istemlerinizi deneyin. Aşağıda birkaç öneri verilmiştir (Python dosyalarından birinde olduğunuz varsayılır) veya aşağıdaki istemlerden birini seçin:
  • Google Cloud Pub/Sub'a mesaj yayınlamak için Python kodu yazma
  • BigQuery istemcisini başlatmak için Python kodu yazma
  • Uygulamamı Cloud SQL'e bağlamak için Python kodu yazma

7. Kod yazarken satır içi kod önerileri alma

Kod yazarken Gemini Code Assist, kabul edebileceğiniz veya yoksayabileceğiniz satır içi kod önerilerinde bulunur. Bu özelliği denemek için önceki bölümde oluşturduğumuz utils.py dosyasını değiştireceğiz :

  1. utils.py dosyasını Cloud Shell IDE'de geçerli dosya olarak açın.
  2. Yapabileceğimiz işlemlerden biri, oluşturulan kodda yoksa doğru import ifadelerini sağlamaktır.
  3. import kelimesini yazmaya başladığınızda Gemini Code Assist'in hayalet metin şeklinde kod önerdiğini görürsünüz. Gemini Code Assist'in kod önerisini kabul etmek için Tab tuşuna basın. Aksi takdirde, öneriyi yok saymak için Esc tuşuna basın veya kodunuzu yazmaya devam edin. Aşağıdaki örnek ekranda, kodda kullanıldığı için storage sınıfının içe aktarılması önerilmektedir. Kod önerisini kabul etmek için Tab tuşuna basın. import os ifadesi de önerilmektedir ancak gerekli olmadığı için kaldırabiliriz.

7cff2c24ff02448c.png

  1. utils.py dosyasının sonuna gidin ve sağlanmamışsa işlevi çağıran satırı ekleyin. Buradaki örnekte print_blobs işlevi kullanılıyor ancak sizin durumunuzda farklı bir işlev olabilir. İşlev adını yazmaya başlayabilirsiniz. Kod tamamlama özelliği, ifadeyi tamamlamanıza yardımcı olur.
  2. bucket_name değerini sağlamanız gerekir. Şu genel paket adını kullanabilirsiniz : gemini-codeassist-bucket. İşlev için örnek çağırma işlemi aşağıda gösterilmiştir. İşlev adları vb. açısından küçük farklılıklar görebileceğinizi lütfen unutmayın.

print_blobs(bucket_name="gemini-codeassist-bucket")

(İsteğe bağlı) Örnek kodu çalıştırma

Google Cloud Storage paketindeki blob'ları listeleyen bir kod yazdığımız için google-cloud-storage Python kitaplığını yüklememiz gerekir.

requirements.txt dosyasına gidin ve aşağıda gösterildiği gibi google-cloud-storage bağımlılığıyla yeni bir satır ekleyin. Örnek bir requirements.txt dosyası aşağıda gösterilmiştir.

Flask==2.3.3
requests==2.31.0
debugpy # Required for debugging.
google-cloud-storage

requirements.txt dosyasını kaydedin.

Kodu çalışırken görmek için sol üstteki menü simgesini kullanarak Cloud Shell IDE'den yeni bir Terminal oturumu başlatmamız gerekir. Menü simgesini ve ardından aşağıdaki resimde gösterildiği gibi Terminal → Yeni Terminal'i tıklayın:

cb369ffdf577c63e.png

Terminal oturumunda, aşağıdaki komutla Python bağımlılıklarını yükleyin:

pip3 install -r requirements.txt

Son olarak, utils.py dosyasını aşağıdaki komutla çalıştırabilirsiniz:

python utils.py

Bu komut, herkese açık Google Cloud Storage paketinde bulunan blob'ları göstermelidir. İdeal olarak çıkışta 2 blob listelenmiş olmalıdır (file1.txt ve file2.txt).

Sorun giderme

Yukarıdaki herkese açık paketteki nesneleri görüntülerken "erişim" hatası alırsanız kendi Google Cloud Storage paketinizi oluşturup gemini-codeassist-bucket yerine bu paketi kullanabilirsiniz. Bunu nasıl yapacağınız sonraki bölümde açıklanmaktadır.

(İsteğe bağlı) Kendi Cloud Storage paketinizi oluşturma

Paket oluşturma, paketi herkese açık hâle getirme ve pakete örnek nesneler yükleme komutları sağlaması için Gemini'dan yardım alalım.

Şu istemle başlayın: "Google Cloud Storage'da herkese açık bir paket oluşturmak için kullanılan gcloud komutu nedir?"

Bu işlem, paket oluşturmak için bir gcloud komutu sağlar. Tam komut aşağıda gösterilmiştir:

gcloud storage buckets create gs://<BUCKET_NAME>

<BUCKET_NAME> için benzersiz bir ad seçin ve komutu terminalde çalıştırın.

Bir paket oluşturduğumuza göre, paketin herkese açık erişime sahip olmasını istiyoruz. Bunu yapmak için Gemini'a aşağıdaki istemi kullanarak komutu soralım: "Google Cloud Storage paketini nasıl herkese açık hale getirebilirim?"

Bu işlem, herkese açık hale getirmek için bir gcloud komutu sağlar. Yanıt aşağıdaki gibi olmalıdır:

gcloud storage buckets add-iam-policy-binding gs://<BUCKET_NAME> --member=allUsers --role=roles/storage.objectViewer

<BUCKET_NAME> kısmını daha önce kullandığınız paket adıyla değiştirin ve komutu çalıştırın.

Son olarak, pakete birkaç örnek dosya yüklemek istiyoruz. Terminalde aşağıdaki komutları çalıştırın (<BUCKET_NAME> değişkenini paketinizin adıyla değiştirmeyi unutmayın).

touch f1.txt
touch f2.txt

gcloud storage cp f1.txt gs://<BUCKET_NAME>
gcloud storage cp f2.txt gs://<BUCKET_NAME>

Artık gemini-codeassist-bucket yerine <BUCKET_NAME> kullanarak utils.py dosyasını çalıştırabilirsiniz.

Temizleme

Kendi Google Cloud Storage paketinizi oluşturduysanız ücret ödememek ve olası güvenlik risklerini önlemek için paketi silmenizi önemle tavsiye ederiz.

Paketi aşağıdaki komutla silebilirsiniz:

gcloud storage buckets delete gs://<BUCKET_NAME>

8. Tebrikler!

Tebrikler. Gemini Code Assist'in kod üretme, kod tamamlama ve kod özetleme konularında nasıl yardımcı olabileceğini anlamak ve Google Cloud ile ilgili sorularınıza yanıt bulmak için örnek bir projede Gemini Code Assist'i başarıyla kullandınız.

Referans belgeler