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

1. Başlamadan önce

Bu kendi temponuzda ilerleyebileceğiniz codelab'de, Google Cloud'un Vertex AI Agent Builder'ı ile yapay zeka temsilcileri oluşturma konusunda size yol gösterilecektir. Her adımda belirli bir Agent Builder özelliği vurgulanır ve amacı açıklanır.

Ön koşullar

Neler öğreneceksiniz?

  • Vertex AI Agent Builder'ı kullanarak basit bir yapay zeka temsilcisi oluşturma
  • Veri deposu ekleyerek oluşturulan ajanı 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 ajanı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ştiriyor mu, bilgi veriyor mu, eğlence sunuyor mu veya yaratıcı keşifleri kolaylaştırıyor mu?
  • 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?
  • Temsilci ş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?
  • Temsilci, varsayılan olarak karmaşık sorguları yanıtlayamayabilir.
  • Aracı, görsel resimler oluşturamaz.
  • Temsilcinin bilgisi, temel modelle sınırlı olacaktır.
  • Hangi kişiliğe veya karaktere sahip olmalı?
  • Bu temsilci, seyahat konusunda bilgili, yardımcı ve hevesli olmalıdır. Bilgileri net ve kısa bir şekilde iletebilmelidir.
  • Başarı metrikleri nelerdir?
  • Bu aracının başarısı, kullanıcıların önerilerinden (keşfetme, planlama, rezervasyon) ne kadar memnun kaldığına göre ölçülebilir.

3. Vertex AI Agent Builder ile Yapay Zeka Temsilcisi 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örmeniz gerekir. 833886ce0d2645ba.png
  • DEVAM ET VE API'YI ETKİNLEŞTİR düğmesini tıklayın.

2. adım:

  • Uygulama oluşturma sayfasına yönlendirilirsiniz. f2d45cc76d62edeb.png
  • YENİ BİR 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 Sohbet Aracısı'nın yeni bir sekmesi açılır.
  2. 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. Etkinleştirmek için Enable API'yi (API'yi etkinleştir) tıklayın.

238281df06301db0.png

  • 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.

42515e46bc63506d.png

  • Şimdi, temsilci oluşturma seçenekleri sunulur. Kendi temsilcinizi oluşturun'u seçin.

8af6bf0853f20768.png

4. adım:

  • Görünen ad seçin (ör. Seyahat Arkadaşı)
  • Konum için global (Global serving, data-at-rest in US) seçeneğini Bölge olarak belirleyin.
  • Diğer yapılandırmayı varsayılan olarak tutun.
  • OLUŞTUR düğmesini tıklayın.

4e0dea29e5d8acde.png

5. adım:

  • Başucu kitabı adı seçin (ör.Bilgi Aracısı).
  • Hedef ekleyin (ör. müşterilerin seyahatle ilgili sorularını yanıtlamalarına yardımcı olma)
  • 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.

f8bfd605ddd97cf8.png

6. adım:

  • Simülasyon aracını aç/kapat simgesini 72588cbe8734f54e.png tıklayın.
  • Yeni oluşturduğunuz temsilciyi seçin (ör.Bilgi Temsilcisi).
  • Temsilcinizin temel üretken yapay zeka modelini seçin (ör.gemini-1. 5-flash).
  • Temsilcinizle konuşarak (ör. "Kullanıcı Girişini Girin" metin kutusuna bir şeyler yazarak) test edin.

3ac3cf54a1e2098.png

Tebrikler! Vertex AI Agent Builder'ı kullanarak yapay zeka temsilcisi oluşturmayı başarıyla tamamladınız.

4. Veri depolarını aracıya ekleme

Aracı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:

5baa2dbabe2941a2.png

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 seyahat rezervasyonu yapmasına yol açabilir.

Ajanın benzer yerler önerebilmesi için veri depoları aracılığıyla ajana daha fazla bilgi sağlayabilirsiniz. Temsilci, 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 kolaydır. Agent Basics sayfasının alt kısmındaki + Veri deposu düğmesini tıklayın.

6c3ef19fefc46af7.png

Aşağıdaki bilgileri doldurun:

  • Aracın 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 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çeneğini belirleyin.

bff5455fac531509.png

Adımı tamamladığınızda

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

d1983baa579eb78c.png

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 Alternatifi) 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 deponuzun içe aktarma işleminin ilerleme durumunu veri deponuzu tıklayarak görebilirsiniz**.**

de1ac9256cc96f29.png

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

9b5c4a2831728a6b.png

Her şey sorunsuz ilerlediyse Dialogflow sekmenize geri dönün ve yenile'yi tıklayın. Veri deposunun Kullanılabilir veri depoları sayfasında oluşturulduğunu görmeniz gerekir.

a44373b78bd95ff0.png

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 keşfedebilirsiniz.

c1605bd076258050.png

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

40082aebe8b82d7c.png

Ş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.

1b6b82fd7f30a598.png

e09af18697b0fd7f.png

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

3134d9eadca34e21.png

Hepsi bu kadar. 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! Ajanınız artık bir metin dosyasından sağlanan bilgileri kullanarak yer öneriyor.

Kendi yapay zeka temsilcimizi oluşturma işlemimiz tamamlandı. Temsilcinizi 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ştirip 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şim kurmanızı sağlayacak önemli soruyu ele alacağı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.

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 amaçlıdır ve bu yapılandırmanın üretim iş yükü için kullanılması önerilmez. Güvenli yayıncılıkla ilgileniyorsanız bu dokümanı inceleyin.

ef0f24db780a185e.png

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

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 Editor'ı açmak için aşağıdaki adımları uygulayın:

  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. Open Editor (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, Gemini Code Assist'i kullanarak Temsilci snippet'inizle entegre edilecek örnek bir Python Flask web uygulaması oluşturacaksı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ştirmeniz istenirse Etkinleştir'i tıklayın.

93112cce3e8d963b.png

İş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 isteyin.

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ısıyla 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 kodu 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'ın yüklenmesi isteniyor. Cloud Shell'de yaygın olarak kullanılan tüm yardımcı programlar varsayılan olarak yüklü olduğundan bu şimdilik gerekli değil.

b657b535710fd8f3.png

Dosyayı kaydedin (Ctrl + S veya CMD + S) ve ardından Terminali Aç'ı tıklayın. Burada, sağlanan kodu çalıştıracaksınız.

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.

59ed7b08133b82bf.png

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

35a4b5abdd299efe.png

Farklı istemlerle test edebilirsiniz. Ayrıca Gemini Code Assist'e web sitenizi güzelleştirmesini veya yapay zeka aracısına daha fazla temellendirme verisi ekleyerek daha becerikli hale getirmesini de sorabilirsiniz.

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 geri kalanında, bu örnek Flask uygulamasını Cloud Run'da kapsayıcı olarak dağıtacaksınız.

Not: Bu 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 birlikte 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ı container mimarisine alıp 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 izlememiz gereken bazı talimatlar ve komutlar sağlar. Talimatları uygulayalım.

Örnek çıkış yanıtı aşağıda verilmiştir.

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 CLI: Google Cloud SDK'yı (gcloud CLI) yerel makinenize yükleyip 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 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 konumunda) 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 adlı 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"]

  1. 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

  1. 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 aracısı içeren uygulamanız son kullanıcılarınız tarafından kullanılabilir hâle gelir.

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:

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