1. Başlamadan önce
Bu kendi hızınızda ilerleyebileceğiniz codelab'de, Google Cloud'un Vertex AI Agent Builder'ı ile yapay zeka aracıları oluşturma konusunda size yol gösterilecektir. Her adımda belirli bir Agent Builder özelliği vurgulanacak ve amacı açıklanacaktır.
Ön koşullar
- Google Cloud'da üretken yapay zeka hakkında temel düzeyde bilgi sahibi olmak
- Yapay Zeka Ajanı Kavramları hakkında temel bilgiler
- Gemini Code Assist hakkında temel bilgi (isteğe bağlı)
Neler öğreneceksiniz?
- Vertex AI Agent Builder'ı kullanarak basit bir yapay zeka temsilcisi oluşturma
- Oluşturulan ajanı veri deposu ekleyerek temellendirme
- Yapay zeka ajanını web sitenize entegre etme(isteğe bağlı)
Gerekenler
- Meraklı bir zihin
- Çalışan bir bilgisayar ve güvenilir kablosuz bağlantı
- Faturalandırmanın bağlı olduğu bir Google Cloud projesi.
Not: Henüz bir Google Cloud projeniz yoksa talimatları uygulayarak oluşturabilirsiniz. Google Cloud Ücretsiz Katman Hizmetleri'ne de göz atabilirsiniz.
2. İlk Yapay Zeka Ajanınızı Tasarlama
Artık kendi yapay zeka aracınızı oluşturmaya hazırsınız. Ancak geliştirmeye başlamadan önce temsilciniz için net bir vizyon oluşturmanız önemlidir. Kendinize şu temel soruları sorun:
- Hangi sorunu çözecek? Görevleri otomatikleştirir mi, bilgi verir mi, eğlence sunar mı veya yaratıcı keşifleri kolaylaştırır mı?
- Birincil işlevleri nelerdir? Görevleri yürütecek mi yoksa devredecek mi? Metin mi yoksa farklı medya türlerinin bir kombinasyonunu mu oluşturacak?
- Sınırlamalar nelerdir? Her şeyi bağımsız olarak yapabilecek mi?
- Hangi kişiliğe veya karaktere sahip olmalı? Resmi mi, samimi mi, komik mi, faydalı mı yoksa bilgilendirici mi olacak?
- Başarı metrikleri nelerdir? Temsilcinin etkinliğini nasıl ölçeceksiniz?
Süreci hızlandırmak için bugün oluşturacağınız seyahat acentesiyle ilgili bu soruların yanıtlarını aşağıda bulabilirsiniz:
- Hangi sorunu çözecek?
- Seyahat planlamak zaman alıcı ve yorucu olabilir. Bu seyahat acentesi, kullanıcıların varış noktalarını keşfetmesine, seyahat planları yapmasına, uçuş ve konaklama rezervasyonu yapmasına yardımcı olur.
- Birincil işlevleri nelerdir?
- Ajan şunları yapabilmelidir:
- Hedeflerle ilgili soruları (ör. vize şartları) yanıtlama
- Kullanıcıların programlarına ve hedeflerine uygun seyahat planları yapma
- uçuş ve konaklama rezervasyonu yapma
- Sınırlamalar nelerdir?
- Ajan, varsayılan olarak karmaşık sorguları yanıtlayamayabilir.
- Ajan, görsel resimler oluşturamaz.
- Temsilcinin bilgisi, temel modelle sınırlı olacaktır.
- Hangi kişiliğe veya karaktere sahip olmalı?
- Bu ajan, seyahat konusunda bilgili, yardımcı ve hevesli olmalıdır. Bilgileri net ve kısa bir şekilde iletebilmelidir.
- Başarı metrikleri nelerdir?
- Bu temsilcinin başarısı, kullanıcıların önerilerinden (keşfetme, planlama, rezervasyon) ne kadar memnun olduğuyla ölçülebilir.
3. Vertex AI Agent Builder ile yapay zeka ajanı oluşturma
Vertex AI Agent Builder ile yapay zeka ajanları yalnızca birkaç adımda oluşturulabilir.
1. adım:
- Vertex AI Agent Builder'a gidin.
- Karşılama sayfasını görmeniz gerekir.

- DEVAM ET VE API'YI ETKİNLEŞTİR düğmesini tıklayın.
2. adım:
- Uygulama oluşturma sayfasına yönlendirilirsiniz.

- YENİ BİR UYGULAMA OLUŞTUR düğmesini tıklayın.
3. adım:
- Chatbot'u seçin ve OLUŞTUR'u tıklayın.

Not:
- OLUŞTUR'u tıkladığınızda Dialogflow Conversational Agents (Dialogflow Sohbet Aracısı) adlı yeni bir sekme açılır.
- Google Cloud projesi seçmeniz istenirse lütfen doğru Gmail hesabınızla ilişkili Google Cloud projenizi seçin.
- Bu laboratuvarı yeni bir hesapta yapıyorsanız Dialogflow API'yi etkinleştirmeniz istenir. Etkinleştirmek için Enable API'yi (API'yi etkinleştir) tıklayın.

- Düğmeyi tıklamak işe yaramazsa doğrudan API sayfasına giderek özelliği manuel olarak etkinleştirebilirsiniz.
- Yeni açılan Dialogflow sayfasında Create Agent'ı (Aracı oluştur) tıklayın.

- Şimdi temsilci oluşturma seçenekleri sunulacak. Kendi temsilcinizi oluşturun'u seçin.

4. adım:
- Görünen ad seçin (ör. Seyahat Arkadaşı)
- Konum için global (Global serving, data-at-rest in US) [global (ABD'de aktif olmayan veriler, küresel hizmet)] seçeneğini Bölge olarak belirleyin.
- Diğer yapılandırmayı varsayılan olarak tutun.
- OLUŞTUR düğmesini tıklayın.

5. adım:
- Başucu kitabı adı seçin (ör.Bilgi Ajanı).
- Hedef ekleyin (ör. Müşterilerin seyahatle ilgili sorularını yanıtlamasına yardımcı olun)
- Talimat tanımlayın (ör. Kullanıcıları selamlayın ve bugün nasıl yardımcı olabileceğinizi sorun)
- Her şey kesinleştiğinde Kaydet'e basın.

6. adım:
- Simülasyon aracını aç/kapat simgesini
tıklayın. - Yeni oluşturduğunuz aracıyı seçin (ör.Bilgi Aracısı).
- Temsilcinizin temel üretken yapay zeka modelini seçin (ör. gemini-1.5-flash)
- Ajanınızla konuşarak (ör. "Kullanıcı Girişini Girin" metin kutusuna bir şeyler yazarak) test edin.

Tebrikler! Vertex AI Agent Builder'ı kullanarak yapay zeka temsilcisi oluşturmayı başarıyla tamamladınız.
4. Veri depolarını aracıya ekleme
Ajanınıza Wakanda'ya gitme hakkında soru sorduğunuzda (ör. "Wakanda'ya ulaşmanın en iyi yolu nedir?") şu gibi bir yanıt alırsınız:

Bu ifade doğru olsa da "Bilgi veremem" deyip sohbeti sonlandırmak yerine benzer yerler önermek kullanıcı için daha faydalı olacaktır. Bu yaklaşım, kullanıcıların acente aracılığıyla seyahat rezervasyonu yapmasına yol açabilir.
Ajanın benzer yerler önerebilmesi için Datastore'lar aracılığıyla ajana daha fazla bilgi sağlayabilirsiniz. Ajan, yerleşik bilgilerine dayanarak kullanıcı sorularını yanıtlayamazsa bu bilgi tabanına başvurabilir.
Not: Simülasyon aracını kapatmak istiyorsanız simülasyon aracını açma/kapatma simgesini tekrar tıklayın.
Veri deposu oluşturmak basittir. Agent Basics (Aracı Temelleri) sayfasının alt kısmındaki + Data store (Veri deposu) düğmesini tıklayın.

Aşağıdaki bilgileri doldurun:
- Araç adı: Alternatif Konum
- Tür: Veri deposu
- Açıklama: Kullanıcının isteğinde var olmayan bir konum varsa bu aracı kullanın.
İşlemi tamamladığınızda Kaydet'i tıklayın.
Bu işlem, aracının veri deposuyla iletişim kurması için bir veri deposu aracı oluşturur ancak yine de bilgileri içeren gerçek bir veri deposu oluşturmanız gerekir. Bunu yapmak için Veri depoları ekle'yi ve Veri deposu oluştur'u tıklayın.


Yeni veri deposu oluştur'u tıkladığınızda aşağıdaki gibi Vertex AI Agent Builder sayfasına yönlendirilirsiniz.
Cloud Storage'da seçeneğini belirleyin.

Adımı tamamladığınızda
- FILE'ı (DOSYA) tıklayın. (İçe aktarma işleminizin başarısız olmaması için bu adım çok önemlidir.)
- ai-workshops/agents/data/wakanda.txt yazın.
- DEVAM'ı tıklayın.

Merak ediyorsanız sağlanan metin dosyasının içeriğini aşağıda bulabilirsiniz:
Places that are similar to Wakanda
- Oribi Gorge in South Africa: The rock formations here are reminiscent of the Warrior Falls in Wakanda.
- Iguazu Falls: Located on the border of Argentina and Brazil, these massive waterfalls were a major inspiration for the Warrior Falls.
- Immerse yourself in Wakandan culture: Read the Black Panther comics, watch the movies, and explore online resources to learn more about Wakandan culture, language, and technology.
- Visit a Disney theme park: While there isn't a dedicated Wakanda land yet, you might be able to meet Black Panther at Disneyland or on a Marvel Day at Sea Disney cruise.
Sonraki sayfada veri deponuza ad verin (ör. Wakanda Alternative) ve CREATE'i (OLUŞTUR) tıklayın.

Son adım olarak, yeni oluşturduğunuz veri kaynağını SEÇİN ve OLUŞTUR'u tıklayın. Veri deposu içe aktarma işleminizin ilerleme durumunu veri deponuzu tıklayarak görebilirsiniz.

Not: İçe aktarma işleminin başarıyla tamamlanması biraz zaman alacaktır. Bu işlem devam ederken Vertex AI yapay zeka ajanınız için kullanılabilen diğer veri deposu seçeneklerini buradan inceleyebilirsiniz.

Her şey sorunsuz ilerlediyse Dialogflow sekmenize geri dönüp yenile'yi tıkladığınızda Kullanılabilir veri depoları sayfasında oluşturulan veri deposunu görmeniz gerekir.

Aracının halüsinasyon görmesini önlemek için veri deponuzun temellendirme yapılandırmasında, Aracının uydurma yapmasına daha sıkı kısıtlamalar uygulayan ayarı Çok Düşük olarak ayarlayın. Şimdilik varsayılan olarak bırakın ancak istediğiniz zaman farklı ayarlarla deneyebilirsiniz.

Şimdi, eklenen veri deposunu seçin, onayla'yı ve ardından kaydet'i tıklayın.

Şimdi Agent Basics (Aracı Temelleri) sayfanıza geri dönün.Playbook yapılandırmasının en altında, yeni oluşturduğunuz veri deposunun (ör. Alternatif Konum) kullanıma hazır olduğunu görürsünüz.Veri deposunu (ör. Alternatif Konum) işaretleyin ve sayfanın üst kısmındaki Kaydet düğmesini tıklayın.


Çok az kaldı. Son adım, "Alternatif Konum" aracını temsilcinin talimatlarına eklemektir. Bir satır ekleyin, - Kullanıcının isteğinde var olmayan bir konum varsa ${TOOL: Alternative Location} kullanın, aracının talimatlarına ekleyin ve Kaydet'i tıklayın.

Hepsi bu kadar. Açma/kapatma düğmesi simülatörünü tekrar açıp aynı soruları soralım (ör. Wakanda'ya ulaşmanın en iyi yolu nedir?)

Tebrikler! Ajanınız artık bir metin dosyasından sağlanan bilgileri kullanarak yer öneriyor.
Kendi yapay zeka aracımızı oluşturma işlemimiz tamamlandı. Aracınızı daha iyi bir deneyim için özelleştirme konusunda daha fazla bilgi edinmek isterseniz lütfen aşağıdaki Ek Etkinlikler bölümüne göz atın.
5. Ek Etkinlikler - Yapay zeka aracınızı kullanıma sunma
Önceki adımlarda bir yapay zeka ajanı geliştirdiniz ve bunu ilgili referans verileriyle kaynağa dayalı hale getirdiniz. Aşağıdaki bölümde, bu ajanı web sitenize nasıl yerleştireceğinizle ilgili önemli soruyu yanıtlayacak ve ziyaretçilerinizle anlık etkileşim kurmanızı sağlayacaksınız.
Aracınızı kullanıma sunmanın birçok yolu vardır. İçeriği dışa aktarabilir veya doğrudan yayınlayabilirsiniz. Olası seçenekler hakkında bilgi edinmek için belgeleri inceleyebilirsiniz.
Dialogflow sekmenizin sağ üst köşesinde Taşma menüsü'nü ve ardından Aracı yayınla'yı tıklayın.

Tüm yapılandırmayı Varsayılan olarak bırakın ve Kimliği doğrulanmamış API'yi etkinleştir'i tıklayın.
Not: Kimliği doğrulanmamış API'nin etkinleştirilmesi yalnızca demo amaçlıdır ve bu yapılandırmanın üretim iş yükü için kullanılması önerilmez. Güvenli bir şekilde yayın yapmak istiyorsanız bu dokümanı inceleyin.

Tıkladığınızda küçük bir CSS kodu snippet'i görmeniz gerekir:

Kod snippet'ini kopyalamanız yeterlidir. Bu kod snippet'ini daha sonra bir web sitesine entegre edeceksiniz.
Web sitesi oluşturmak için Cloud Editor ortamını kullanacaksınız. Cloud Editor'ı açmak için aşağıdaki adımları uygulayın:
- Google Cloud Console'u başka bir sekmede açın.
- Sağ üst köşedeki Cloud Shell'i etkinleştir düğmesini tıklayın.
- Open Editor (Düzenleyiciyi Aç) düğmesini tıklayın.
Cloud Shell'i yetkilendirmeniz istenirse devam etmek için Authorize'ı (Yetkilendir) tıklayın.

Aşağıdaki bölümde, Gemini Code Assist'i kullanarak aracı snippet'inizle entegre edilecek örnek bir Python Flask web uygulaması oluşturacaksınız.
Cloud Shell Editor açıldıktan sonra Gemini Code Assist'i tıklayın ve Google Cloud projenize giriş yapın. API'yi etkinleştirmeniz istenirse Etkinleştir'i tıklayın.

İşlem tamamlandıktan sonra Gemini Code Assist'ten bir Flask uygulaması oluşturmasını ve yapay zeka aracısı kod snippet'ini bu uygulamaya entegre etmesini isteyelim.
Kullanabileceğiniz örnek istem aşağıda verilmiştir.
Here is my Travel buddy Vertex AI agent builder agent publish code snippet,
<REPLACE IT WITH YOUR AI AGENT PUBLISH CODE SNIPPET>
can you create a sample flask app to use it
Not: Burada bir Python Flask uygulaması istedik. Başka bir programlama dili veya çerçeve kullanmayı tercih ederseniz lütfen kullanmaktan çekinmeyin. Gemini Code Assist, farklı programlama dillerinde kod oluşturabilir. Daha fazla bilgi için Desteklenen diller, IDE'ler ve arayüzler başlıklı makaleyi inceleyin.
Sağlanan kod snippet'inin yapay zeka aracına zaten entegre edildiğini görürsünüz. Sağlanan kodun geçerli olup olmadığını ve amaçlandığı gibi çalışıp çalışmadığını test etmek için Gemini Code Assist'in, çıktı yanıtının bu kod bölümünü çalıştırma talimatlarını uygulayabilirsiniz.
Örnek Çıkış Yanıtı kod snippet'i -
from flask import Flask, render_template_string
app = Flask(__name__)
# HTML template string with the provided Dialogflow Messenger code
html_template = """
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Travel Buddy Chatbot</title>
<link rel="stylesheet" href="https://www.gstatic.com/dialogflow-console/fast/df-messenger/prod/v1/themes/df-messenger-default.css">
<script src="https://www.gstatic.com/dialogflow-console/fast/df-messenger/prod/v1/df-messenger.js"></script>
<style>
df-messenger {
z-index: 999;
position: fixed;
--df-messenger-font-color: #000;
--df-messenger-font-family: Google Sans;
--df-messenger-chat-background: #f3f6fc;
--df-messenger-message-user-background: #d3e3fd;
--df-messenger-message-bot-background: #fff;
bottom: 16px;
right: 16px;
}
body {
font-family: sans-serif;
margin: 20px;
}
</style>
</head>
<body>
<h1>Welcome to Travel Buddy!</h1>
<p>Start chatting with our AI Travel buddy, in the bottom right corner.</p>
<df-messenger
project-id="<SAMPLE>"
agent-id="<SAMPLE>"
language-code="en"
max-query-length="-1">
<df-messenger-chat-bubble
chat-title="Travel Buddy">
</df-messenger-chat-bubble>
</df-messenger>
</body>
</html>
"""
@app.route("/")
def index():
"""Renders the HTML template with the Dialogflow Messenger."""
return render_template_string(html_template)
if __name__ == "__main__":
app.run(debug=True)

Verilen talimata göre
- Sağlanan örnek Flask uygulaması kod snippet'ini kopyalayın.
- app.py adlı yeni bir dosya oluşturun ve dosyayı kaydedin.

Bir sonraki adımda, bu snippet'i çalıştırmak için Flask'ın yüklenmesi isteniyor. Cloud Shell'de en çok tercih edilen tüm yardımcı programlar varsayılan olarak yüklü olduğundan bu şimdilik gerekli değil.

Dosyayı kaydedin (Ctrl + S veya CMD + S) ve ardından sağlanan kodu çalıştıracağınız Terminali Aç'ı tıklayın.
Terminalde aşağıdaki komutu çalıştırın.
python app.py
Not: app.py dosyanızın bulunduğu doğru klasörde olduğunuzdan emin olun.
Python Flask uygulaması 5000 numaralı bağlantı noktasında çalışır. Bu web uygulamasının önizlemesini görmek için Cloud Shell'deki Web Önizlemesi simgesini tıklayın. Ardından Bağlantı noktasını değiştir'i tıklayıp 5000 değerini girin ve kaydetmek için Değiştir ve Önizle'yi tıklayın.

Örnek bir web sitesi gösterilir ve yapay zeka aracısı hazır olarak sunulur. Yapay zeka ajanını tıklayıp sohbet etmeye başlamanız yeterlidir.

Farklı istemlerle test edebilirsiniz. Ayrıca Gemini Code Assist'ten web sitenizi güzelleştirmesini veya yapay zeka aracına daha fazla temellendirme verisi ekleyerek daha fazla kaynak sunmasını da isteyebilirsiniz.
Hazır olduğunuzda, bir sonraki adım olarak bu yapay zeka aracısını Google Cloud'da barındırmayı deneyebilirsiniz. Böylece, aracıya herkes her yerden erişebilir. Bu codelab'in hatırlatıcısı olarak, bu örnek Flask uygulamasını Cloud Run'da container olarak dağıtacaksınız.
Not: Yalnızca Cloud Run ile sınırlı değildir (Cloud Run'ın ne olduğunu bilmiyorsanız bile bunu sorabilirsiniz). Gemini Code Assist'ten, Google Cloud'da veya en iyi uygulamalarla herhangi bir yerde dağıtmanıza yardımcı olmasını isteyebilirsiniz. Bu konuda da size yardımcı olabilir.
Cloud Shell Terminali'ne dönün ve işlemi sonlandırmak için Ctrl + C tuşlarına basın. Open Editor'ı (Düzenleyiciyi Aç) tekrar tıklayın ve Gemini Code Assist'ten uygulamayı kapsayıcıya yerleştirip Cloud Run'da dağıtmamıza yardımcı olmasını isteyin.
Can you help me deploy this sample flask app to cloud run service
Uygulamamızı Cloud Run hizmetinde barındırmak için bazı talimatlar ve komutlar sunar. Talimatları uygulayalım.
Örnek çıkış yanıtı aşağıda verilmiştir.
Cloud Run'a dağıtma adımları
- Ön koşullar:
- Google Cloud hesabı: Faturalandırmanın etkin olduğu bir Google Cloud hesabınız olmalıdır.
- gcloud CLI: Google Cloud SDK'yı (gcloud CLI) yerel makinenize yükleyin ve başlatın. Bu aracı, terminalinizden Google Cloud ile etkileşim kurmak için kullanırsınız.
- Docker: Docker'ı yerel makinenize yükleyin. Cloud Run, uygulamanızı container mimarisine almak için Docker'ı kullanır.
- Proje Kurulumu: gcloud CLI'nizde bir Google Cloud projesi seçtiğinizden emin olun.
gcloud config list projectile kontrol edebilir vegcloud config set project YOUR_PROJECT_IDile ayarlayabilirsiniz.
Not: Bu etkinliğin tamamını Cloud Shell'de gerçekleştirdiğimiz için proje oluşturmanız gerekmez.
- Oluştur **
requirements.txt:**
- Bu dosyada, uygulamanızın ihtiyaç duyduğu tüm Python paketleri listelenir. Proje dizininizde (
main.pykonumunda)requirements.txtadlı bir dosya oluşturun ve aşağıdaki satırı ekleyin.
- Oluştur **
Dockerfile:**
Dockerfile, uygulamanız için Docker görüntüsünün nasıl oluşturulacağını tanımlar. Proje dizininizdeDockerfileadlı bir dosya oluşturun (uzantı yok) ve aşağıdaki içeriği ekleyin:
# Use an official Python runtime as a parent imageFROM python:3.9-slim-buster
# Set the working directory to /appWORKDIR /app
# Copy the current directory contents into the container at /app
COPY . /app
# Install any needed packages specified in requirements.txt
RUN pip install --no-cache-dir -r requirements.txt
# Make port 5000 available to the world outside this container
EXPOSE 5000
# Define environment variable
ENV NAME World
# Run app.py when the container launches
CMD ["python", ".py"]
- Docker görüntüsünü oluşturun:
- Terminalinizi açın, proje dizininize gidin ve şu komutu çalıştırın:
gcloud builds submit –tag gcr.io/bgr-workshop-23rd/travel-buddy
- Cloud Run'a dağıtma:
- Görüntü oluşturulup yüklendikten sonra aşağıdaki komutla Cloud Run'a dağıtın:
gcloud run deploy travel-buddy --image gcr.io/bgr-workshop-23rd/travel-buddy --region us-central1
Bu adımları tamamladığınızda, entegre yapay zeka ajanı içeren uygulamanız son kullanıcılarınız tarafından kullanılabilir.
Tebrikler ve iyi dersler.
6. Temizleme
Bu codelab'de kullanılan kaynaklar için Google Cloud hesabınızın ücretlendirilmesini istemiyorsanız şu adımları uygulayın:
- Google Cloud Console'da Kaynakları yönetin sayfasına gidin.
- Proje listesinde silmek istediğiniz projeyi seçin ve Sil'i tıklayın.
- İletişim kutusunda proje kimliğini yazın ve projeyi silmek için Kapat'ı tıklayın.
- Alternatif olarak, konsolda Cloud Run'a gidebilir, yeni dağıttığınız hizmeti seçip silebilirsiniz.