Vertex AI Agent Builder ile yapay zeka ajanları oluşturma

Bu codelab hakkında
schedule45 dakika
subjectSon güncelleme 7 Mart 2025
account_circleYazan: Thu Ya Kyaw (Googler), Abhishek Sharma (GDE)

Bu kendi kendine ilerleyen kod laboratuvarı, Google Cloud'un Vertex AI Agent Builder ile yapay zeka aracıları oluşturma konusunda size yol gösterecektir. Her adımda belirli bir Agent Builder özelliği vurgulanır ve amacı açıklanır.

  • Vertex AI Agent Builder'ı kullanarak basit bir yapay zeka aracısı oluşturma
  • Oluşturulan aracıyı bir veri deposu ekleyerek temellendirme
  • Yapay Zeka Asistanı'nı web sitenize entegre etme(isteğe bağlı)
  • Meraklı bir zihin
  • Çalışan bir bilgisayar ve güvenilir kablosuz bağlantı
  • Faturalandırmanın eklendiği bir Google Cloud projesi.

Not: Henüz Google Cloud projeniz yoksa talimatları uygulayarak proje oluşturabilirsiniz. Google Cloud Ücretsiz Katmanı Hizmetleri'ne de göz atabilirsiniz.

2. İlk Yapay Zeka Temsilcinizi Tasarlama

Artık kendi yapay zeka temsilcinizi oluşturmaya hazırsınız. Ancak geliştirmeye başlamadan önce temsilciniz için net bir vizyon belirlemeniz önemlidir. Kendinize şu soruları sorun:

  • Hangi sorunu çözecek? Görevleri otomatikleştirecek, bilgi verecek, eğlence sunacak veya yaratıcı keşfi kolaylaştıracak mı?
  • Birincil işlevleri nelerdir? Görevleri yürütecek mi yoksa devredecek mi? Metin mi yoksa farklı medyaların bir kombinasyonu mu oluşturacak?
  • Sınırlamalar neler? Her şeyi bağımsız olarak yapabilir mi?
  • Hangi kişiliğe sahip olmalı? Resmi, samimi, esprili, faydalı veya 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 acentesi için 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ı hazırlamasına, uçuş ve konaklama rezervasyonu yapmasına yardımcı olur.
  • Birincil işlevleri nelerdir?
  • Temsilci şunları yapabilmelidir:
  • Vize şartları gibi seyahat noktalarıyla ilgili soruları yanıtlama
  • Kullanıcıların programlarına ve hedeflerine uygun seyahat planları oluşturma
  • Uçuş ve konaklama rezervasyonu yapma
  • Sınırlamalar neler?
  • Temsilci, varsayılan olarak karmaşık sorguları yanıtlayamayabilir.
  • Temsilci görsel görüntüler oluşturamaz.
  • Temsilcinin bilgisi, temel model tarafından sınırlandırılır.
  • Hangi kişiliğe sahip olmalı?
  • Bu temsilci, seyahat konusunda bilgili, yardımsever ve hevesli olmalıdır. Bilgileri açık ve net bir şekilde aktarabilmelidir.
  • Başarı metrikleri nelerdir?
  • Bu temsilcinin başarısı, kullanıcıların önerilerinden (keşif, planlama, rezervasyon) ne kadar memnun olduğuyla ölçülebilir.

3. Vertex AI Agent Builder ile yapay zeka aracısı oluşturma

Vertex AI Agent Builder ile yapay zeka aracıları yalnızca birkaç adımda oluşturulabilir.

1. adım:

  • Vertex AI Agent Builder'a gidin.
  • Karşılama sayfasını görürsünüz. 833886ce0d2645ba.png
  • DEVAM ET VE API'Yİ ETKİNLEŞTİR düğmesini tıklayın.

2. adım:

  • Uygulama Oluşturma sayfasına yönlendirilirsiniz. f2d45cc76d62edeb.png
  • YENİ UYGULAMA OLUŞTUR düğmesini tıklayın.

3. adım:

  • Sohbet aracısı'nı seçin ve OLUŞTUR'u tıklayın.

732d2cd9e10c9a79.png

Not:

  1. OLUŞTUR'u tıkladığınızda Dialogflow Conversational Agents'ın yeni sekmesi açılır.
  2. Sizden bir Google Cloud projesi seçmeniz istenirse lütfen doğru Gmail hesabınızla ilişkili Google Cloud projenizi seçin.
  3. Bu laboratuvarı yeni bir hesapta yapıyorsanız Dialogflow API'yi etkinleştirmeniz istenir. API'yi etkinleştir'i tıklayarak API'yi etkinleştirin.

238281df06301db0.png

  • Düğmeyi tıkladığınızda API etkinleştirilmezse doğrudan API sayfasına giderek manuel olarak etkinleştirebilirsiniz.
  • Yeni açılan Dialogflow sayfasında Create Agent'ı (Temsilci Oluştur) tıklayın.

42515e46bc63506d.png

  • Ardından, temsilci oluşturma seçenekleri gösterilir. Kendi temsilcinizi oluşturun'u seçin.

8af6bf0853f20768.png

4. adım:

  • Görünen ad (ör. Seyahat Arkadaşı) seçin
  • Konum için Bölge olarak global (Küresel yayınlama, ABD'de etkin olmayan veriler)'i seçin.
  • Diğer yapılandırmayı koruyun, varsayılan
  • OLUŞTUR düğmesini tıklayın.

4e0dea29e5d8acde.png

5. adım:

  • Playbook Adı (ör.Bilgi Acentesi) seçin.
  • Bir hedef ekleyin (ör. müşterilerin seyahatlerle ilgili sorgularını yanıtlamalarına yardımcı olun)
  • Bir talim tanımlayın (ör. kullanıcıları selamlayın, ardından onlara nasıl yardımcı olabileceğinizi sorun)
  • Tüm işlemler tamamlandığında Kaydet'e basın.

f8bfd605ddd97cf8.png

6. adım:

  • Simülasyon aracını etkinleştir/devre dışı bırak simgesini 72588cbe8734f54e.png tıklayın.
  • Yeni oluşturduğunuz temsilciyi seçin (ör. Bilgi Temsilcisi)
  • Temsilciniz için temel üretken yapay zeka modelini seçin (ör. gemini-1.5-flash)
  • Temsilcinizle sohbet ederek (ör. "Kullanıcı Girişi Gir" metin kutusuna bir şeyler yazın) temsilcinizi test edin.

3ac3cf54a1e2098.png

Tebrikler! Vertex AI Agent Builder'ı kullanarak yapay zeka aracısı oluşturdunuz.

4. Temsilciye Datastore ekleme

Wakanda'ya gitme hakkında bilgi almak için müşteri temsilcinize sorabilirsiniz (ör. "Wakanda'ya ulaşmanın en iyi yolu nedir?"). Aşağıdaki gibi bir yanıt alırsınız:

5baa2dbabe2941a2.png

Bu bilgi doğru olsa da müşteri temsilcisinin "Bilgi veremiyoruz" deyip sohbeti sonlandırması yerine benzer yerler önermesi kullanıcı için daha faydalı olur. Bu yaklaşım, kullanıcıların acente üzerinden seyahat rezervasyonu yapmasına neden olabilir.

Temsilcinin benzer yerler önermesi için veri depoları aracılığıyla temsilciye daha fazla bilgi sağlayabilirsiniz. Temsilci, yerleşik bilgisine dayanarak kullanıcı sorularını yanıtlayamıyorsa bu bilgi tabanı, temsilcinin başvurabileceği ek bir bilgi tabanı görevi görür.

Not: Simülasyon aracını kapatmak istiyorsanız açma/kapatma düğmesi simgesini tekrar tıklayın.

Veri deposu oluşturmak kolaydır. Temel Temsilci Bilgileri sayfasının alt kısmındaki + Veri deposu düğmesini tıklayın.

6c3ef19fefc46af7.png

Aşağıdaki bilgileri girin:

  • Araç adı: Alternatif Konum
  • Tür: Veri deposu
  • Açıklama: Kullanıcının isteği var olmayan bir konum içeriyorsa bu aracı kullanın.

İşlemi tamamladığınızda Kaydet'i tıklayın.

Bu işlem, temsilcinin veri deposuyla iletişim kurması için bir veri deposu aracı oluşturur ancak bilgileri içeren gerçek bir veri deposu oluşturmanız gerekir. Bunu yapmak için veri deposu ekle ve Veri deposu oluştur'u tıklayın.

65c790a87de8fba8.png

7648d478a6f35cf0.png

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çin seçeneğini belirleyin

bff5455fac531509.png

Adımı tamamladıktan sonra

  • DOSYA'yı tıklayın (Bu çok önemlidir. Aksi takdirde içe aktarma işleminiz başarısız olur.)
  • ai-workshops/agents/data/wakanda.txt yazın
  • DEVAM'ı tıklayın.

d1983baa579eb78c.png

İsterseniz sağlanan metin dosyasının içeriğini buradan inceleyebilirsiniz:

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 deponuzun adını (ör. Wakanda Alternatif) girin ve OLUŞTUR'u tıklayın.

93eb71e8d019ae24.png

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

de1ac9256cc96f29.png

Not: İçe aktarma etkinliğinin başarıyla tamamlanması biraz zaman alır. Bu işlem devam ederken Vertex AI aracınız için kullanılabilen daha fazla veri deposu seçeneğini buradan keşfedebilirsiniz.

9b5c4a2831728a6b.png

Her şey yolunda gittiyse Dialogflow sekmesine dönüp yenile'yi tıklayın. Kullanılabilir veri depoları sayfasında oluşturulan veri deposunu görürsünüz.

a44373b78bd95ff0.png

Temsilcinin halüsinasyon görmesini önlemek için veri deponuzun temellendirme yapılandırmasında ayarı Çok Düşük olarak ayarlayın. Bu ayar, Temsilci'nin yalan söylemesi konusunda daha sıkı kısıtlamalar uygular. Şimdilik varsayılan ayarı kullanın ancak dilediğiniz zaman farklı ayarlarla keşfedebilirsiniz.

c1605bd076258050.png

Ardından, eklenen veri deposunu seçin, onay'ı ve ardından kaydet'i tıklayın.

40082aebe8b82d7c.png

Şimdi Temel Temsilci Bilgileri sayfanıza dönün.Oyun kitabı yapılandırmasının en altında, yeni oluşturulan veri deponuzun(ör. Alternatif Konum) kullanılabileceğini 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.

1b6b82fd7f30a598.png

e09af18697b0fd7f.png

Neredeyse bitti. Son adım, temsilcinin talimatlarına "Alternatif Konum" aracını eklemektir. Temsilcinin talimatlarına - Kullanıcının isteği var olmayan bir konum içeriyorsa ${TOOL: Alternatif Konum} aracını kullanın satırını ekleyin ve ardından kaydet'i tıklayın.

3134d9eadca34e21.png

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

6cdee598391fc82a.png

Tebrikler! Temsilciniz artık bir metin dosyasında sağlanan bilgileri kullanarak yer öneriyor.

Bu kadar. Kendi temsilci oluşturucu yapay zeka temsilcimizi oluşturduk. Daha iyi bir deneyim için temsilcinizi özelleştirme konusunda daha fazla bilgi edinmek istiyorsanız lütfen aşağıdaki Ek Etkinlikler'e göz atın.

5. Ek Etkinlikler - Yapay zeka temsilcinizi etkinleştirme

Önceki adımlarda bir yapay zeka aracısı geliştirdiniz ve bu aracı alakalı referans verileriyle temellendirdiniz. Aşağıdaki bölümde, bu aracıyı web sitenize nasıl yerleştireceğiniz ve ziyaretçilerinizle gerçek zamanlı etkileşime nasıl geçeceğiniz gibi önemli soruları yanıtlayacaksınız.

Temsilcinizi göstermenin birçok yolu vardır. Raporu dışa aktarabilir veya doğrudan yayınlayabilirsiniz. Olası seçenekler hakkında bilgi edinmek için dokümanları inceleyebilirsiniz.

Dialogflow sekmenizin sağ üst köşesinde Akış menüsü'nü ve ardından Temsilciyi yayınla'yı tıklayın.

a1b109fa9d7cb51d.png

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 amacıyladır ve bu yapılandırmanın üretim iş yükü için kullanılması önerilmez. Güvenli bir şekilde yayınlama hakkında bilgi edinmek istiyorsanız bu dokümanlara göz atın.

ef0f24db780a185e.png

Tıkladığınızda küçük bir CSS kod snippet'i görürsünüz:

c40d12f6207bf5b4.png

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 Düzenleyici'yi açma adımları aşağıda verilmiştir:

  1. Google Cloud Console'u başka bir sekmede açın.
  2. Sağ üst köşedeki Cloud Shell'i etkinleştir düğmesini tıklayın.
  3. Düzenleyiciyi aç düğmesini tıklayın.

Cloud Shell'i yetkilendirme istemi varsa devam etmek için Yetkilendir'i tıklayın.

d23192eca480f00c.png

Aşağıdaki bölümde, temsilci snippet'inizle entegre edilecek örnek bir Python flask web uygulaması oluşturmak için Gemini Code Assist'i kullanacaksınız.

Cloud Shell Düzenleyici açıldıktan sonra Gemini Code Assist'i tıklayın ve Google Cloud projenize giriş yapın. API'yi etkinleştirmenizi ister. Etkinleştir'i tıklayın.

93112cce3e8d963b.png

Bu işlem tamamlandıktan sonra Gemini Code Assist'ten bir flask uygulaması oluşturmasını ve yapay zeka aracısı kod snippet'ini buna entegre etmesini isteyelim.

Aşağıda, kullanabileceğiniz örnek istem 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 dilini veya çerçevesini tercih ediyorsanız lütfen kullanabilirsiniz. Gemini Code Assist, farklı programlama dilleri oluşturabilir. Daha fazla bilgi için Desteklenen diller, IDE'ler ve arayüzler bölümüne göz atın.

Sağlanan kod snippet'inin yapay zeka temsilcisiyle zaten entegre olduğunu göreceksiniz. 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 çıkış yanıtının bu kod bölümünün nasıl çalıştırılacağına dair 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)

3dd3246c5fceb1d4.png

Verilen talimatlara göre

  1. Sağlanan örnek flask uygulaması kod snippet'ini kopyalayın,
  2. app.py adlı yeni bir dosya oluşturun ve dosyayı kaydedin.

4e58cfcf95f65d38.png

Bir sonraki adımda, bu snippet'i çalıştırmak için flask'i yüklemeniz istenir. Cloud Shell'de yaygın olarak kullanılan tüm yardımcı programlar varsayılan olarak yüklü olduğundan bu şu anda gerekli değildir.

b657b535710fd8f3.png

Dosyayı kaydedin (Ctrl + S veya CMD + S) ve ardından sağlanan kodu çalıştıracağınız Terminal'i 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 bağlantı noktasında çalışır. Bu web uygulamasının önizlemesini görmek için Cloud Shell'daki Web Önizlemesi simgesini tıklayın. Ardından Bağlantı Noktasını Değiştir, 5000 gir'i ve kaydetmek için Değiştir ve Önizle'yi tıklayabilirsiniz.

59ed7b08133b82bf.png

Örnek bir web sitesi gösterilir ve hazır bir yapay zeka temsilcisi bulunur. Yapay zeka temsilcisini tıklayıp onunla sohbet etmeye başlayın.

35a4b5abdd299efe.png

Farklı istemlerle test edebilirsiniz. Ayrıca, Gemini Code Assist'ten web sitenizi güzelleştirmesini veya yapay zeka temsilcisine daha fazla temel veri ekleyip daha bilgili olmasını 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, herkes dünyanın her yerinden bu aracıya erişebilir. Bu kod laboratuvarının hatırlatması olarak, bu örnek Flask uygulamasını Cloud Run'a kapsayıcı olarak dağıtacaksınız.

Not: Bu yalnızca Cloud Run ile sınırlı değildir (Cloud Run'un ne olduğunu bilmiyorsanız bunu da sorabilirsiniz). Gemini Code Assist'ten bu kodu Google Cloud'da veya en iyi uygulamalarla birlikte herhangi bir yerde dağıtmanıza yardımcı olmasını isteyebilirsiniz. Bu konuda da size yardımcı olabilir.

Cloud Shell Terminal'e dönün ve işlemi sonlandırmak için Ctrl + C tuşlarına basın. Düzenleyiciyi Aç'ı tekrar tıklayın ve Gemini Code Assist'ten uygulamayı kapsayıcıya alma ve Cloud Run'da dağıtma konusunda bize 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 uygulamamız gereken bazı talimatlar ve komutlar sağlanmıştır. Talimatları uygulayalım.

Örnek çıkış yanıtı

Cloud Run'a dağıtma adımları

  1. Ön koşullar:
  • Google Cloud Hesabı: Faturalandırmanın etkin olduğu bir Google Cloud hesabınız olmalıdır.
  • gcloud KSA: Google Cloud SDK'yı (gcloud KSA) yerel makinenize yükleyip başlatın. Bu kimliği, terminalinizden Google Cloud ile etkileşimde bulunmak 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 project ile kontrol edebilir ve gcloud config set project YOUR_PROJECT_ID ile ayarlayabilirsiniz

Not: Bu etkinliğin tamamını Cloud Shell'de gerçekleştirdiğimiz için proje oluşturmaya gerek yoktur.

  1. Oluştur **requirements.txt****:**
  • Bu dosyada, uygulamanızın ihtiyaç duyduğu tüm Python paketleri listelenir. Proje dizininizde (main.py'nin bulunduğu yerde) requirements.txt adlı bir dosya oluşturun ve aşağıdaki satırı ekleyin:
  1. Oluştur **Dockerfile****:**
  • Dockerfile, uygulamanız için Docker görüntüsünün nasıl oluşturulacağını tanımlar. Proje dizininizde Dockerfile (uzantısı yok) adlı bir dosya oluşturun 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"]

  1. Docker görüntüsünü oluşturma:
  • Terminalinizi açın, proje dizininize gidin ve şu komutu çalıştırın:

gcloud builds submit –tag gcr.io/bgr-workshop-23rd/travel-buddy

  1. Cloud Run'a dağıtma:
  • Görüntü derlenip yüklendikten sonra aşağıdaki komutu kullanarak 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 temsilcisi içeren uygulamanızın son kullanıcılarınız için kullanıma sunulduğunu göreceksiniz.

Tebrikler. İyi çalışmalar.

6. Temizleme

Bu kod laboratuvarında kullanılan kaynaklar için Google Cloud hesabınızın ücretlendirilmesini istemiyorsanız şu adımları uygulayın:

  1. Google Cloud Console'da Kaynakları yönetin sayfasına gidin.
  2. Proje listesinde, silmek istediğiniz projeyi seçin ve ardından Sil'i tıklayın.
  3. İletişim kutusuna proje kimliğini yazın ve projeyi silmek için Kapat'ı tıklayın.
  4. Alternatif olarak, konsolda Cloud Run'a gidip yeni dağıttığınız hizmeti seçip silebilirsiniz.