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

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

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

  • Chatbot'u seçin ve OLUŞTUR'u tıklayın.

732d2cd9e10c9a79.png

Not:

  1. OLUŞTUR'u tıkladığınızda Dialogflow Conversational Agents (Dialogflow Sohbet Aracısı) adlı yeni bir sekme 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 sunulacak. 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) [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.

4e0dea29e5d8acde.png

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.

f8bfd605ddd97cf8.png

6. adım:

  • Simülasyon aracını aç/kapat simgesini 72588cbe8734f54e.png 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.

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

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:

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

6c3ef19fefc46af7.png

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.

65c790a87de8fba8.png7648d478a6f35cf0.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 adım ç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 Alternative) ve CREATE'i (OLUŞTUR) 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 deposu içe aktarma işleminizin 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 yapay zeka ajanı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üp yenile'yi tıkladığınızda Kullanılabilir veri depoları sayfasında oluşturulan veri deposunu 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 deneyebilirsiniz.

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.pnge09af18697b0fd7f.png

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

3134d9eadca34e21.png

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?)

6cdee598391fc82a.png

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.

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 bir şekilde yayın yapmak istiyorsanı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 yetkilendirmeniz istenirse devam etmek için Authorize'ı (Yetkilendir) tıklayın.

d23192eca480f00c.png

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.

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 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)

3dd3246c5fceb1d4.png

Verilen talimata 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 en çok tercih edilen 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 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.

59ed7b08133b82bf.png

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

35a4b5abdd299efe.png

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ı

  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ü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 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şturmanız gerekmez.

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

  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.