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

1. Giriş

Bu laboratuvarda, Google Cloud'daki yapay zeka destekli bir iş arkadaşı 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, kodu anlayabileceğinizi ve diğer yapay zeka destekli kodlama görevlerini nasıl yapabileceğ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, laboratuvarı kullanmaya 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.

28f084ec1e159938.png

  1. Cloud Assist sohbet penceresi, konsolun sağ tarafında açılır. Aşağıda gösterildiği gibi 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.

3d9ae68104b49a5b.png

  1. Etkinleştirildikten sonra bir veya iki istem girerek Cloud Assist'i deneyebilirsiniz. Birkaç örnek sorgu gösterilir ancak What is Cloud Run? gibi bir sorgu da deneyebilirsiniz.

27835a44c7b7f7c.png

Cloud Assist, sorunuzun yanıtını verir. Cloud Destek Yardımcısı sohbet penceresini kapatmak için sağ üst köşedeki f68286b2b2ea5c0a.png 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.
  2. Alt durum çubuğunda Cloud Code - Sign in (Cloud Code - Oturum aç) düğmesini tıklayın. Eklentiyi talimatlara uygun şekilde 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.

609d1645201cc7a3.png

  1. Gösterildiği gibi sağ alt köşedeki Gemini düğmesini tıklayın ve doğru Google Cloud projesini son bir kez daha seçin. Google Cloud için Gemini API'yi etkinleştirmeniz istenirse lütfen etkinleştirin ve devam edin.
  2. Google Cloud projenizi seçtikten sonra, durum çubuğundaki Cloud Code durum mesajında projenizi görebildiğinizden ve sağ tarafta, durum çubuğunda Code Assist'in etkinleştirildiğinden emin olun (aşağıdaki resimde gösterildiği gibi).

365a09ae0c4b1ac6.png

Gemini Code Assist kullanıma hazır!

İsteğe bağlı: Sağ alttaki durum çubuğunda Gemini'ı görmüyorsanız Cloud Code'da Gemini'ı etkinleştirmeniz gerekir. Bunu yapmadan önce Cloud Code Uzantısı → Ayarlar'a gidip aşağıdaki şekilde Gemini metnini girerek Gemini'ın IDE'de etkinleştirildiğinden emin olun. Onay kutusunun işaretli olduğundan emin olun. IDE'nizi yeniden yüklemeniz gerekir.Bu işlem, Cloud Code'da Gemini'ı etkinleştirir ve durum çubuğundaki Gemini simgesi IDE'nizde görünür.

3741f07b73a939c8.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.

d3652354efac576d.png

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

91ea9836f38b7f74.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.

aaa3725b17ce27cf.png

4. Gemini ile sohbet edin

İlk olarak Gemini ile nasıl sohbet edeceğinizi öğreneceğiz. Gemini, VS Code'daki Cloud Code uzantısının bir parçası olarak Cloud Shell IDE'de sohbet asistanı olarak kullanılabilir. Sol gezinme çubuğundaki Gemini düğmesini tıklayarak Gemini'ı açabilirsiniz. Soldaki gezinme araç çubuğunda Gemini simgesini a489f98a34898727.png bulun ve tıklayın.

Bu işlem, Cloud Shell IDE'de Sohbet: Gemini bölmesini açar. Google Cloud ile ilgili yardım almak için Gemini ile sohbet edebilirsiniz.

41bbcb85e89f4ff4.png

İstem girmek ve Gemini'ın yanıtını görüntülemek için Gemini ile etkileşim 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?

En üstteki çöp kutusu simgesine dikkat edin. Bu simge, Code Assist sohbet geçmişinin bağlamını sıfırlamanın yoludur. Bu sohbet etkileşiminin, IDE'de üzerinde çalıştığınız dosyalarla ilgili olduğunu da unutmayın.

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.

14d9c56af016b65d.png

  1. Gemini, bu iki Cloud Run ortam değişkeni (K_SERVICE, K_REVISION) ve bunların uygulama kodunda nasıl kullanıldığı hakkında ayrıntılı bir açıklama ile yanıt veriyor. 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 (Bu dosyayı açıkla) 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 işlem, ampul( Code OSS Duet AI ampulü) simgesini ve ardından Gemini: Bunu açıkla'yı tıklamaya benzer.
  3. Ayrıca, metnin bir bölümünü seçip IDE'nin sağ üst kısmındaki Gemini: Akıllı İşlemler'i (aşağıda gösterildiği gibi) tıklayarak seçili metinde gerçekleştirilebilecek işlemlerin listesini alabilirsiniz. Aşağıdaki seçeneklerden biri Bunu açıkla işlemidir:

fb4d25c7d9240f14.png

6. İstemlerle kod oluşturma

Bu bölümde, yorumlardan kod oluşturmak için Gemini Code Assist'in nasıl kullanılacağı 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 şeklinde oluşturur. Bu araç, bir araç çubuğuyla kod için bir veya daha fazla öneri sunar. Birden fazla öneri olması durumunda, bu 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.

d6d7915885c5e74b.png

Kodda dalgalı çizgiler fark edebilirsiniz. Bu durumda Kod alıntısı özelliğini kullanıyorsunuz demektir. İmleçle çizgilerden birinin üzerine geldiğinizde kod ilişkilendirmesi ve lisanslama ile ilgili diğer bilgiler gösterilir. Aşağıda bir örnek gösterilmektedir:

c7473cadcf15d887.png

Ardından, Hızlı Düzeltme ... seçeneğini tıklayarak alıntı uyarısını yoksayabilirsiniz. Bu işlem, aşağıdaki örnekte gösterildiği gibi Hızlı Düzeltme önerisini görüntüler:

10f4672830954c90.png

Kod lisansını kabul ediyorsanız Alıntı Uyarısını Yoksay'ı seçebilirsiniz.

(İ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

Gemini Code Assist, kod yazarken 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 şeylerden 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.

cb3dfff74172959d.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ılmıştır. İş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 herkese açık 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:

289173c68f1addb5.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ını sağlaması için Gemini'dan yardım alalım.

Şu istemle başlayın: "Google Cloud Storage'da herkese açık 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şilebilir 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 oluşturma, kod tamamlama ve kod özetleme konusunda nasıl yardımcı olabileceğini ve Google Cloud ile ilgili sorularınıza nasıl yanıt bulabileceğinizi anlamak için örnek bir projede Gemini Code Assist'i başarıyla kullandınız.

Referans belgeler