1. Başlamadan önce
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.
Ön koşullar
- Google Cloud'da Üretken Yapay Zeka hakkında temel düzeyde bilgi
- Yapay Zeka Temsilcisi Kavramları hakkında temel düzeyde bilgi
- Gemini CodeAssist hakkında temel düzeyde bilgi (İsteğe bağlı)
Neler öğreneceksiniz?
- 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ı)
Gerekenler
- 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.
- DEVAM ET VE API'Yİ ETKİNLEŞTİR düğmesini tıklayın.
2. adım:
- Uygulama Oluşturma sayfasına yönlendirilirsiniz.
- 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.
Not:
- OLUŞTUR'u tıkladığınızda Dialogflow Conversational Agents'ın yeni sekmesi açılır.
- Sizden bir 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. API'yi etkinleştir'i tıklayarak API'yi etkinleştirin.
- 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.
- Ardından, temsilci oluşturma seçenekleri gösterilir. Kendi temsilcinizi oluşturun'u seçin.
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.
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.
6. adım:
- Simülasyon aracını etkinleştir/devre dışı bırak simgesini
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.
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:
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.
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.
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
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.
İ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.
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**.**
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.
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.
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.
Ardından, eklenen veri deposunu seçin, onay'ı ve ardından kaydet'i tıklayın.
Ş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.
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.
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.
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.
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.
Tıkladığınızda küçük bir CSS kod snippet'i görürsünüz:
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:
- Google Cloud Console'u başka bir sekmede açın.
- Sağ üst köşedeki Cloud Shell'i etkinleştir düğmesini tıklayın.
- Düzenleyiciyi aç düğmesini tıklayın.
Cloud Shell'i yetkilendirme istemi varsa devam etmek için Yetkilendir'i tıklayın.
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.
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)
Verilen talimatlara 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'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.
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.
Ö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.
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ı
- Ö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 vegcloud 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.
- 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:
- Oluştur **
Dockerfile
****:**
Dockerfile
, uygulamanız için Docker görüntüsünün nasıl oluşturulacağını tanımlar. Proje dizininizdeDockerfile
(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"]
- 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
- 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:
- Google Cloud Console'da Kaynakları yönetin sayfasına gidin.
- Proje listesinde, silmek istediğiniz projeyi seçin ve ardından Sil'i tıklayın.
- İletişim kutusuna proje kimliğini yazın ve projeyi silmek için Kapat'ı tıklayın.
- Alternatif olarak, konsolda Cloud Run'a gidip yeni dağıttığınız hizmeti seçip silebilirsiniz.