Google Cloud Shell Düzenleyici'de Geliştiriciler İçin Gemini Code Assist Standard ve Enterprise Turu
Bu codelab hakkında
1. Giriş
Bu laboratuvarda, Google Cloud'daki yapay zeka destekli bir iş ortağı olan Gemini Code Assist'i kullanacaksınız. Kod oluşturmak, kodu anlamak ve yapay zeka destekli diğer kodlama görevleri için Gemini Chat'i ve satır içi kod yardımını nasıl kullanabileceğinizi öğrenirsiniz.
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 Gemini Code Assist satır içi kod yardımını kullanırsınız.
Öğrenecekleriniz...
- Kod oluşturma, kod tamamlama ve kod ö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 etkinleştirildi
Bu laboratuvar, başlangıç seviyesindekiler de dahil olmak üzere her seviyedeki geliştiricileri hedeflemektedir. Örnek uygulama Python dilinde olsa da neler olduğunu anlamak için Python programlamasını bilmeniz gerekmez. Buradaki amacımız, geliştiriciler için Gemini Code Assist'in özelliklerini tanıtmaktır.
2. Kurulum
Bu bölümde, bu laboratuvarda çalışmaya 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:
- 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'yi aç simgesini tıklayın.
- 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üğmesi yerine bir sohbet arayüzü görüyorsanız proje için Cloud Assist'i zaten etkinleştirmiş olabilirsiniz. Bu durumda doğrudan bir sonraki adıma geçebilirsiniz.
- Etkinleştirildikten sonra birkaç istem isteyerek Cloud Assist'i test edebilirsiniz. Birkaç örnek sorgu gösterilmektedir ancak
What is Cloud Run?
gibi bir şey deneyebilirsiniz.
Cloud Assist, sorunuza yanıt verecektir. Cloud Assist sohbet penceresini kapatmak için sağ üst köşedeki simgesini tıklayabilirsiniz.
Cloud Shell IDE'de Gemini Code Assist'i etkinleştirme
Kod laboratuvarının geri kalanında, tümüyle yönetilen Code OSS tabanlı bir geliştirme ortamı olan Cloud Shell IDE'yi kullanacağız. Cloud Shell IDE'sinde Code Assist'i etkinleştirmemiz ve yapılandırmamız gerekiyor. Aşağıda bu adımları görebilirsiniz:
- ide.cloud.google.com adresini ziyaret edin. IDE'nin görünmesi biraz zaman alabilir. Lütfen bekleyin.
- Aşağıdaki durum çubuğunda gösterildiği gibi Cloud Code - Oturum aç düğmesini tıklayın. Eklentiyi talimatlara göre yetkilendirin. Durum çubuğunda "Cloud Code - no project" (Cloud Code - proje yok) ifadesini görürseniz önce bunu, ardından birlikte çalışmayı planladığınız projeler listesinden belirli bir Google Cloud projesini seçin.
- Gösterildiği gibi sağ alt köşedeki Gemini düğmesini tıklayın ve doğru Google Cloud projesini son bir kez seçin. Google Cloud için Gemini API'yi etkinleştirmeniz istenirse lütfen bunu yapın ve devam edin.
- Google Cloud projenizi seçtikten sonra, durum çubuğundaki Cloud Code durum mesajında projenizi görebildiğinizden ve sağdaki durum çubuğunda da aşağıdaki gibi Code Assist'i etkinleştirdiğinizden emin olun:
Gemini Code Assist kullanıma hazır.
İsteğe bağlı: Sağ alttaki durum çubuğunda Gemini'yi görmüyorsanız Cloud Code'da Gemini'yi etkinleştirmeniz gerekir. Bunu yapmadan önce Cloud Code Uzantısı → Ayarlar'a giderek IDE'de Gemini'nin etkinleştirildiğinden emin olun ve ardından aşağıda gösterildiği gibi Gemini metnini girin. Onay kutusunun seçili olduğundan emin olun. IDE'nizi yeniden yüklemeniz gerekir.Bu işlem, Cloud Code'da Gemini'yi etkinleştirir ve durum çubuğundaki Gemini simgesi IDE'nizde görünür.
3. Örnek uygulamayı oluşturma
Gemini Code Assist'in özelliklerini keşfetmek için kullanacağımız örnek bir uygulama (Python Flask uygulaması) oluşturacağız.
Şu adımları uygulayın:
- Aşağıdaki durum çubuğunda Google Cloud proje adını tıklayın.
- Seçeneklerin listesi gösterilir. Aşağıdaki listeden Yeni Uygulama'yı tıklayın.
- Cloud Run uygulamasını seçin.
- Python (Flask): Cloud Run uygulama şablonunu seçin.
- Yeni uygulamayı istediğiniz konuma kaydedin.
- Uygulamanızın oluşturulduğunu onaylayan bir bildirim gösterilir ve uygulamanızın yüklü olduğu yeni bir pencere açılır. Bir
README.md
dosyası açılır. Şimdilik bu görünümü kapatabilirsiniz.
4. Gemini ile sohbet edin
Gemini ile nasıl sohbet edeceğinizi öğrenerek başlayacağız. 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 bu sayfayı açabilirsiniz. Soldaki gezinme araç çubuğunda İkizler simgesini bulun ve tıklayın.
Bu işlem, Cloud Shell IDE'de Chat: Gemini bölmesini açar. Google Cloud ile ilgili yardım almak için Gemini ile sohbet edebilirsiniz.
Bir istem girmek ve Gemini'den gelen yanıtı görüntülemek için Gemini sohbet bölmesini kullanalım. Aşağıdaki istemi girin:
What is Cloud Run?
Gemini, Cloud Run ile ilgili ayrıntıları içeren bir yanıt verecektir. İ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 koddaki bağlam bilgisini içerebilir. İyi yanıtlar almak için istem yazma hakkında daha fazla bilgi için 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?
Üst taraftaki çöp kutusu simgesini görebilirsiniz. Bu simge, Code Assist sohbet geçmişinin bağlamını sıfırlamanızı sağlar. 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 geçişini en aza indirirken daha üretken olmanı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şlemler listesini görüntüleyebilir ve bu listeden seçim yapabilirsiniz.
Uygulama kodunun bazı bölümlerini anlamanıza yardımcı olması için Gemini Code Assist'i kullanabilirsiniz. Önceki bir adımda oluşturduğumuz uygulamaya dönün. IDE'nizdeki dosyaları ve kodu açıklamak için Gemini Code Assist'i kullanabilirsiniz.
- Dosyalar görünmüyorsa IDE etkinlik çubuğunda Gezgin'i (
) tıklayın.
- Gezgin bölmesinde Dockerfile'ı seçin.
- Dosya içeriğinin herhangi bir bölümünü seçip ampul simgesini (
) ve ardından Gemini: Bunu açıkla'yı tıklayabilirsiniz. Örneğin, ENTRYPOINT ile başlayan satırı seçin, ampul simgesini (
) ve ardından Gemini: Bunu açıkla'yı tıklayın. Gemini, Dockerfile'ın daha fazla bilgi edinmek istediğiniz bölümüyle ilgili doğal dil açıklamasını 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. app.py
dosyasının içeriğini görüntülemek için etkinlik çubuğunda Gezgin'i () tıklayın ve ardından
app.py
'i seçin.- hello() işlev tanımında, hakkında daha fazla bilgi edinmek istediğiniz satırları seçebilirsiniz. Ardından ampul simgesini (
) ve ardından 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.
- Gemini, bu iki Cloud Run ortam değişkeninin (
K_SERVICE, K_REVISION
) ve uygulama kodunda nasıl kullanıldıklarının ayrıntılı bir açıklamasını içeren bir yanıt verir. Gemini'nin Google Cloud ve Cloud Run gibi hizmetler hakkındaki bilgisiyle yalnızca Python kodunu açıklamadığını, aynı zamanda bu değişkenlerin Cloud Run'daki bağlamını da açıkladığını unutmayın.
Kod açıklamasını almak için aşağıdaki ek yöntemleri deneyin:
- app.py dosyasını IDE'de açık tutun. VS Code'un sol gezinme çubuğundaki Gemini sohbet bölmesine gidin ve Bu dosyayı açıkla istemini girin. Bu işlem, dosyanın tamamını dikkate alır ve size açıklar.
- Dosyanın herhangi bir bölümünü seçip sol taraftaki Gemini sohbet bölmesini kullanarak Bunu açıkla isteminden de yararlanabilirsiniz. Bu işlem, yalnızca dosyanın seçili kısmını açıklar. Bu, ampul simgesini(
) ve ardından Gemini: Bunu açıkla'yı tıklamaya benzer.
- Ayrıca, metnin bir bölümünü seçip IDE'nin sağ üst kısmından Gemini: Akıllı İşlemler'i tıklayarak seçili metin üzerinde yapılabilecek işlemlerin listesini de görebilirsiniz. Bu seçeneklerden biri Bunu açıkla işlemidir:
6. İstemlerle kod oluşturma
Bu bölümde, yorumlardan kod oluşturmak için Gemini Code Assist'i nasıl kullanacağınız gösterilmektedir.
Bu özellikleri deneyelim. Aşağıdaki adımları uygulayın:
utils.py
adlı yeni bir dosya oluşturun.- Yeni kod dosyanızda, yeni bir satıra
# Function to print a list of blobs in a Google Cloud Storage bucket
yazın ve ardındanEnter
(Windows ve Linux için) veyaReturn
(MacOS için) tuşuna basın. Gemini, siz yazarken kod oluşturmayı deneyebilir ancak bunu kabul etmeyebilir. Kod oluşturma işlemini özellikle bir sonraki adımda tetikleyeceğiz. - Kod oluşturma işlemini tetiklemek için
Control+Enter
(Windows ve Linux için) veyaControl+Return
(MacOS için) tuşlarına basın. Gemini Code Assist, Python dosyasındaki istem metninizin yanında kodu hayalet metin biçiminde oluşturur. Bir araç çubuğuyla kodla ilgili bir veya daha fazla öneri sunar. Bu araç çubuğu sayesinde, birden fazla öneri varsa bir kod önerisinden diğerine gidebilirsiniz. Araç çubuğundan kod önerilerinden herhangi birini kabul edebilirsiniz. Araç çubuğunu göremiyorsanız veya kayboluyorsa oluşturulan kodun üzerine gelerek tekrar görünmesini sağlayın. - İsteğe bağlı: Oluşturulan kodu kabul etmek için
Tab
tuşuna basın. Birden fazla öneri varsa önerilen kod snippet'lerinden birine gitmek içinTab
simgesine birden fazla kez basabilirsiniz.
Bu işlem, kabul ettiğiniz kodu utils.py
dosyasına ekler. Aşağıda örnek bir ekran görüntüsü verilmiştir. Size sağlanan kod, aşağıda gösterilen koddan farklı olabilir. Ek yöntemler oluşturulursa kodu kabul ettikten sonra bu yöntemleri silebilirsiniz.
Kodda kıvrımlı çizgiler görebilirsiniz veya görmeyebilirsiniz. Bu durumda, kod alıntısından yararlanmış olursunuz. Fareyle satırların herhangi birinin üzerine geldiğinizde kod ilişkilendirmesi ve lisanslamayla ilgili diğer ilgili bilgiler gösterilir. Aşağıda bir örnek verilmiştir:
Ardından Hızlı Düzelt...'i tıklayarak alıntı uyarısını yoksaymayı seçebilirsiniz. Bu işlem, önerilen Hızlı Düzeltme'yi gösterir. Örneği aşağıda verilmiştir:
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ç öneriyi aşağıda bulabilirsiniz:
- Aynı isteği sormak ve yanıtı sohbet penceresinde almak için Gemini sohbet özelliğini de kullanabilirsiniz. Ardından Chat arayüzünde kodu kopyalama veya mevcut dosyaya ekleme seçenekleri gösterilir.
- İstediğiniz örnek kod için kendi istemlerinizi deneyin. Aşağıda birkaç öneri verilmiştir (python dosyalarından birinde olduğunuz varsayılarak): Aşağıdaki istemlerden bazılarını da seçebilirsiniz:
- Google Cloud Pub/Sub'da 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 yoksayabilececeğiniz satır içi kod önerileri sunar. Bu özelliği denemek için önceki bölümde oluşturduğumuz utils.py
dosyasını değiştireceğiz :
utils.py
dosyasını Cloud Shell IDE'de geçerli dosya olarak açın.- Oluşturulan kodda doğru
import
ifadeleri yoksa bunları sağlayabiliriz. import
kelimesini yazmaya başladığınızda Gemini Code Assist'in hayalet metin biçiminde kod önerdiğini görürsünüz. Gemini Code Assist'in önerdiği kodu kabul etmek içinTab
tuşuna basın. Aksi takdirde, öneriyi yok saymak içinEsc
simgesine basın veya kodunuzu yazmaya devam edin. Aşağıdaki örnek ekranda, kodda kullanıldığı içinstorage
sınıfının içe aktarılması önerilmektedir. Kod önerisini kabul etmek içinTab
tuşuna basın.import os
beyanı da önerilir ancak gerekli olmadığı için kaldırabiliriz.
utils.py
dosyasının sonuna gidin ve işlevi çağıracak satırı ekleyin (sağlanmamışsa). Bu örnekteprint_blobs
işlevi kullanılmıştır. İşlev adını yazmaya başlayabilirsiniz. Kod tamamlama özelliği, ifadeyi tamamlamanıza yardımcı olur.- bucket_name parametresini sağlamanız gerekir. Aşağıdaki herkese açık paket adını kullanabilirsiniz :
gemini-codeassist-bucket
. İşlevin örnek çağrısı 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ı listeleyecek 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ığı içeren yeni bir satır ekleyin. Aşağıda örnek bir requirements.txt
dosyası gösterilmektedir.
Flask==2.3.3 requests==2.31.0 debugpy # Required for debugging. google-cloud-storage
requirements.txt
dosyasını kaydedin.
Kodun işleyişini 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ğıda gösterildiği gibi Terminal → Yeni Terminal'i tıklayın:
Terminal oturumunda, Python bağımlılarını aşağıdaki komutla yükleyin:
pip3 install -r requirements.txt
Son olarak, utils.py
dosyasını aşağıdaki komutla çalıştırabilirsiniz:
python utils.py
Bu işlem, herkese açık Google Cloud Storage paketinde bulunan blob'ları gösterir. İdeal olarak çıkışta 2 blob (file1.txt
ve file2.txt
) listelenir.
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şturabilir ve gemini-codeassist-bucket
yerine bunu kullanabilirsiniz. Bunu nasıl yapacağınız sonraki bölümde açıklanmıştır.
(İsteğe bağlı) Kendi Cloud Storage paketinizi oluşturun
Gemini'den yardım alarak paket oluşturma, paketi herkese açık hale getirme ve pakete örnek nesneler yükleme komutlarını alalım.
Aşağıdaki istemle başlayın: "Google Cloud Storage'da herkese açık bir paket oluşturmak için 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 yürütün.
Oluşturduğumuz paketin herkese açık olmasını istiyoruz. Aşağıdaki istemi kullanarak Gemini'den bunu yapma komutunu isteyelim: "Google Cloud Storage paketini herkese açık hale nasıl getirebilirim?"
Bu işlem, herkese açık hale getirmek için bir gcloud komutu sağlar. Yanıtınız 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>
ifadesini daha önce kullandığınız paket adıyla değiştirin ve komutu yürütün.
Son olarak, pakete birkaç örnek dosya yüklemek istiyoruz. Terminalde aşağıdaki komutları çalıştırın (<BUCKET_NAME>
değişkenini paket adınızla 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> değerini kullanarak utils.py
dosyasını çalıştırabilirsiniz.
Temizleme
Kendi Google Cloud Storage paketinizi oluşturduysanız herhangi bir ü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 yanıt bulmanıza nasıl yardımcı olabileceğini anlamak için örnek bir projede Gemini Code Assist ile başarılı bir şekilde çalıştınız.