1. Zanim zaczniesz
Te ćwiczenia z programowania do samodzielnego wykonania przeprowadzą Cię przez proces tworzenia agentów AI za pomocą kreatora agentów Vertex AI w Google Cloud. Każdy krok będzie dotyczył konkretnej funkcji narzędzia Agent Builder i wyjaśniał jej przeznaczenie.
Wymagania wstępne
- Podstawowa wiedza o generatywnej AI w Google Cloud
- Podstawowa znajomość koncepcji agentów AI
- Podstawowa znajomość Gemini Code Assist (opcjonalnie)
Czego się nauczysz
- Jak utworzyć prostego agenta AI za pomocą Kreatora agentów Vertex AI
- Jak ugruntować utworzonego agenta, dołączając do niego magazyn danych
- Jak zintegrować agenta AI z witryną(opcjonalnie)
Czego potrzebujesz
- Ciekawy umysł
- działający komputer i niezawodne połączenie Wi-Fi;
- Projekt Google Cloud z dołączonymi płatnościami.
Uwaga: jeśli nie masz jeszcze projektu w chmurze Google, możesz go utworzyć, postępując zgodnie z instrukcjami. Możesz też zapoznać się z usługami dostępnymi w ramach poziomu bezpłatnego Google Cloud.
2. Projektowanie pierwszego agenta AI
Teraz możesz utworzyć własnego agenta AI. Zanim jednak zaczniesz tworzyć agenta, musisz mieć jasną wizję jego działania. Zadaj sobie te pytania:
- Jaki problem rozwiąże? Czy będzie automatyzować zadania, dostarczać informacji, zapewniać rozrywkę czy ułatwiać kreatywne poszukiwania?
- Jakie są jego główne funkcje? Czy będzie wykonywać zadania, czy je delegować? Czy będzie generować tekst, czy kombinację różnych mediów?
- Jakie są ograniczenia? Czy będzie w stanie robić wszystko autonomicznie?
- Jaką osobowość lub charakter ma mieć ten model? Czy będzie formalny, nieformalny, humorystyczny, pomocny czy informacyjny?
- Jakie są wyznaczniki sukcesu? Jak będziesz mierzyć skuteczność agenta?
Aby przyspieszyć ten proces, podajemy odpowiedzi na te pytania w przypadku agenta turystycznego, którego utworzysz dzisiaj:
- Jaki problem rozwiąże?
- Planowanie podróży może być czasochłonne i przytłaczające. To biuro podróży pomoże użytkownikom odkrywać miejsca docelowe, planować podróże oraz rezerwować loty i noclegi.
- Jakie są jego główne funkcje?
- Agent powinien mieć możliwość
- odpowiadać na pytania dotyczące miejsc docelowych, np. o wymagania wizowe;
- planować trasy, które pasują do harmonogramów i celów użytkowników,
- rezerwować loty i noclegi,
- Jakie są ograniczenia?
- Agent może domyślnie nie być w stanie odpowiadać na skomplikowane zapytania.
- Agent nie będzie mógł generować obrazów.
- Wiedza agenta będzie ograniczona przez model bazowy.
- Jaką osobowość lub charakter ma mieć ten model?
- Powinien on być kompetentny, pomocny i entuzjastycznie nastawiony do podróży. Powinien on przekazywać informacje w sposób jasny i zwięzły.
- Jakie są wyznaczniki sukcesu?
- Sukces tego agenta można mierzyć na podstawie zadowolenia użytkowników z jego rekomendacji (dotyczących odkrywania, planowania i rezerwowania).
3. Tworzenie agenta AI za pomocą Kreatora agentów Vertex AI
Dzięki Kreatorowi agentów Vertex AI agentów AI można tworzyć w zaledwie kilku krokach.
Krok 1.
- Otwórz Kreatora agentów Vertex AI.
- Powinna wyświetlić się strona powitalna.

- Kliknij przycisk PRZEJDŹ DALEJ I AKTYWUJ API.
Krok 2.
- Przekierujemy Cię na stronę tworzenia aplikacji.

- Kliknij przycisk UTWÓRZ NOWĄ APLIKACJĘ.
Krok 3.
- Wybierz Agent konwersacyjny i kliknij UTWÓRZ.

Uwaga:
- Gdy klikniesz UTWÓRZ, otworzy się nowa karta Agentów konwersacyjnych Dialogflow.
- Jeśli pojawi się prośba o wybranie projektu w chmurze Google, wybierz projekt w chmurze Google powiązany z prawidłowym kontem Gmail.
- Jeśli wykonujesz to ćwiczenie w nowym koncie, pojawi się prośba o włączenie interfejsu Dialogflow API. Kliknij Włącz API, aby go włączyć.

- Jeśli kliknięcie przycisku nie działa, możesz włączyć go ręcznie, przechodząc bezpośrednio na stronę interfejsu API .
- Na nowo otwartej stronie Dialogflow kliknij Utwórz agenta.

- Teraz zobaczysz opcje tworzenia agenta. Wybierz Utwórz własnego.

Krok 4.
- Wybierz wyświetlaną nazwę (np.Travel Buddy).
- W sekcji Lokalizacja wybierz lokalizację globalną (Cały świat, dane w spoczynku w Stanach Zjednoczonych) jako Region.
- Zachowaj inne ustawienia konfiguracji, domyślne
- Kliknij przycisk UTWÓRZ.

Krok 5.
- Wybierz nazwę scenariusza (np.Agent informacyjny).
- Dodaj cel (np.Pomóż klientom w odpowiadaniu na pytania związane z podróżami).
- Określ instrukcję (np.powitaj użytkowników i zapytaj, jak możesz im dzisiaj pomóc).
- Gdy wszystko będzie gotowe, naciśnij Zapisz.

Krok 6.
- Kliknij ikonę Przełącz symulator
. - Wybierz utworzonego agenta (np.Info Agent).
- Wybierz podstawowy model generatywnej AI dla agenta (np.gemini-1. 5-flash).
- Przetestuj agenta, prowadząc z nim rozmowę (np.wpisz coś w polu tekstowym „Enter User Input” (Wpisz dane wejściowe użytkownika)).

Gratulacje! Udało Ci się utworzyć agenta AI za pomocą Kreatora agentów Vertex AI.
4. Dołączanie magazynów danych do agenta
Jeśli zapytasz agenta, jak dostać się do Wakandy (np. „Jaki jest najlepszy sposób, aby dostać się do Wakandy?”), otrzymasz odpowiedź podobną do tej:

Chociaż jest to zgodne z prawdą, zamiast po prostu stwierdzić „Nie mogę podać informacji” i zakończyć rozmowę, bardziej pomocne byłoby zaproponowanie podobnych miejsc. Takie podejście może potencjalnie prowadzić do tego, że użytkownicy faktycznie zarezerwują wycieczkę za pośrednictwem agenta.
Aby agent mógł polecać podobne miejsca, możesz przekazać mu więcej informacji za pomocą repozytoriów danych. Działa ona jako dodatkowa baza wiedzy, do której agent może się odwoływać, jeśli nie jest w stanie odpowiedzieć na pytania użytkowników na podstawie swojej wbudowanej wiedzy.
Uwaga: jeśli chcesz zamknąć symulator, ponownie kliknij ikonę przełączania symulatora.
Utworzenie magazynu danych jest proste. Kliknij przycisk + Magazyn danych u dołu strony Podstawowe informacje o agencie.

Podaj te informacje:
- Nazwa narzędzia: lokalizacja alternatywna
- Typ: magazyn danych
- Opis: użyj tego narzędzia, jeśli prośba użytkownika zawiera lokalizację, która nie istnieje.
Gdy skończysz, kliknij Zapisz.
W ten sposób utworzysz narzędzie magazynu danych, za pomocą którego agent będzie się z nim komunikować. Musisz jednak utworzyć sam magazyn danych, który będzie zawierać informacje. Aby to zrobić, kliknij Dodaj magazyny danych i Utwórz magazyn danych.


Po kliknięciu Utwórz nowy magazyn danych nastąpi przekierowanie na stronę kreatora agentów Vertex AI, jak poniżej:
Wybierz opcję Cloud Storage

Gdy skończysz ten krok,
- kliknij PLIK (jest to bardzo ważne, w przeciwnym razie importowanie się nie powiedzie);
- type ai-workshops/agents/data/wakanda.txt
- kliknij DALEJ.

Jeśli chcesz, możesz zapoznać się z zawartością przesłanego pliku tekstowego:
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.
Na następnej stronie nadaj nazwę magazynowi danych (np. Wakanda Alternative) i kliknij UTWÓRZ.

Na koniec WYBIERZ utworzone źródło danych i kliknij UTWÓRZ. Postęp importowania magazynu danych możesz sprawdzić, klikając magazyn danych**.**

Uwaga: importowanie danych zajmie trochę czasu. W tym czasie możesz zapoznać się z innymi opcjami magazynu danych dostępnymi dla Twojego agenta Vertex AI – tutaj.

Jeśli wszystko przebiegło prawidłowo, wróć na kartę Dialogflow i kliknij odśwież. Utworzony magazyn danych powinien być widoczny na stronie Dostępne magazyny danych.

Aby zapobiec halucynacjom agenta, w konfiguracji podstawowej magazynu danych ustaw opcję Bardzo niskie, która nakłada na agenta bardziej rygorystyczne ograniczenia dotyczące wymyślania informacji. Na razie pozostaw domyślne ustawienie, ale w dowolnym momencie możesz je zmienić.

Teraz wybierz dodany magazyn danych, kliknij Potwierdź, a następnie Zapisz.

Wróć na stronę Podstawy dotyczące agenta.U dołu konfiguracji przewodnika zobaczysz nowo utworzony magazyn danych(np. lokalizacja alternatywna), który możesz wykorzystać.Zaznacz Magazyn danych (np. lokalizacja alternatywna) i kliknij przycisk Zapisz u góry strony.


Już prawie Ci się udało! Ostatnim krokiem jest uwzględnienie narzędzia „Alternative Location” w instrukcjach agenta. Dodaj do instrukcji agenta wiersz - Use ${TOOL: Alternative Location} if the user's request contains a location that does not exist (Użyj ${TOOL: Alternative Location}, jeśli żądanie użytkownika zawiera lokalizację, która nie istnieje), a następnie kliknij Zapisz.

Wszystko gotowe. Otwórzmy ponownie symulator przełącznika i zadajmy te same pytania (np. „Jaki jest najlepszy sposób, aby dotrzeć do Wakandy?”).

Gratulacje! Twój agent rekomenduje teraz miejsca na podstawie informacji z pliku tekstowego.
To wszystko. Skończyliśmy tworzyć własnego agenta AI do tworzenia agentów. Jeśli chcesz dowiedzieć się więcej o dostosowywaniu agenta, aby zapewnić lepsze wrażenia, zapoznaj się z dodatkowymi działaniami poniżej.
5. Dodatkowe działania – udostępnianie agenta AI
W poprzednich krokach utworzyliśmy agenta AI i powiązaliśmy go z odpowiednimi danymi referencyjnymi. W kolejnej sekcji odpowiemy na kluczowe pytanie o to, jak umieścić tego agenta w witrynie, aby umożliwić interakcję z odwiedzającymi w czasie rzeczywistym.
Istnieje wiele sposobów udostępniania agenta. Możesz go wyeksportować lub opublikować bezpośrednio. Więcej informacji o dostępnych opcjach znajdziesz w dokumentacji.
W prawym górnym rogu karty Dialogflow kliknij rozszerzone menu, a następnie Opublikuj agenta.

Pozostaw wszystkie ustawienia konfiguracji jako Domyślne i kliknij Włącz nieuwierzytelniony interfejs API.
Uwaga: włączenie nieuwierzytelnionego interfejsu API służy wyłącznie do celów demonstracyjnych i nie zalecamy używania tej konfiguracji w przypadku obciążeń produkcyjnych. Jeśli chcesz publikować bezpiecznie, zapoznaj się z tą dokumentacją.

Po kliknięciu powinien pojawić się mały fragment kodu CSS:

Wystarczy skopiować fragment kodu. Ten fragment kodu zintegrujesz później z witryną.
Do utworzenia witryny użyjesz środowiska Cloud Editor. Aby otworzyć edytor Cloud Shell, wykonaj te czynności:
- Otwórz konsolę Google Cloud na innej karcie.
- W prawym górnym rogu kliknij przycisk Aktywuj Cloud Shell.
- Kliknij przycisk Otwórz edytor.
Jeśli pojawi się prośba o autoryzację Cloud Shell, kliknij Autoryzuj, aby kontynuować.

W następnej sekcji użyjesz Gemini Code Assist, aby utworzyć przykładową aplikację internetową w Pythonie, która będzie zintegrowana z fragmentem kodu agenta.
Po otwarciu edytora Cloud Shell kliknij Gemini Code Assist i zaloguj się w projekcie Google Cloud. Jeśli pojawi się prośba o włączenie interfejsu API, kliknij Włącz.

Gdy to zrobisz, poproś Gemini Code Assist o utworzenie aplikacji Flask i zintegrowanie z nią fragmentu kodu agenta AI.
Oto przykładowy prompt, którego możesz użyć
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
Uwaga: w tym przypadku poprosiliśmy o aplikację w języku Python Flask. Jeśli wolisz inny język programowania lub platformę, możesz ich użyć. Gemini Code Assist może generować kod w różnych językach programowania. Więcej informacji znajdziesz w artykule Obsługiwane języki, środowiska IDE i interfejsy.
Zobaczysz, że podany fragment kodu jest już zintegrowany z agentem AI. Aby sprawdzić, czy podany kod jest prawidłowy i działa zgodnie z oczekiwaniami, możesz postępować zgodnie z instrukcjami Gemini Code Assist dotyczącymi uruchamiania tej sekcji kodu w odpowiedzi.
Przykładowy fragment kodu odpowiedzi wyjściowej:
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)

Zgodnie z podanymi instrukcjami
- Skopiuj podany przykładowy fragment kodu aplikacji Flask.
- Utwórz nowy plik o nazwie app.py i zapisz go.

W następnym kroku pojawi się prośba o zainstalowanie biblioteki Flask, aby uruchomić ten fragment kodu. Nie jest to teraz wymagane, ponieważ Cloud Shell ma już domyślnie zainstalowane wszystkie najczęściej używane narzędzia.

Zapisz plik (Ctrl + S lub CMD + S), a następnie kliknij Otwórz terminal, w którym uruchomisz podany kod.
W terminalu uruchom to polecenie:
python app.py
Uwaga: upewnij się, że jesteś w odpowiednim folderze, w którym znajduje się plik app.py.
Aplikacja w języku Python Flask będzie działać na porcie 5000. Aby wyświetlić podgląd tej aplikacji internetowej, kliknij ikonę Podgląd w przeglądarce w Cloud Shell. Następnie kliknij Zmień port, wpisz 5000 i kliknij Zmień i wyświetl podgląd,aby zapisać zmiany.

Pojawi się przykładowa witryna, w której będzie już dostępny agent AI. Wystarczy kliknąć agenta AI i rozpocząć z nim rozmowę.

Możesz przetestować go z różnymi promptami. Możesz też poprosić Gemini Code Assist o upiększenie witryny lub dodanie do agenta AI większej ilości danych podstawowych, aby był bardziej pomocny.
Gdy będziesz gotowy, możesz hostować tego agenta AI w Google Cloud, aby był dostępny dla każdego i w dowolnym miejscu. W dalszej części tego samouczka wdrożysz tę przykładową aplikację Flask w Cloud Run jako kontener.
Uwaga: nie ogranicza się to tylko do Cloud Run (jeśli nie wiesz, czym jest Cloud Run, możesz o to zapytać). Możesz poprosić Gemini Code Assist o pomoc we wdrożeniu tego rozwiązania w Google Cloud lub w dowolnym innym miejscu zgodnie z najlepszymi praktykami. Może Ci w tym pomóc.
Wróć do terminala Cloud Shell i naciśnij Ctrl + C, aby zakończyć proces. Ponownie kliknij Otwórz edytor i zapytaj Gemini Code Assist o pomoc w konteneryzacji aplikacji i wdrożeniu jej w Cloud Run.
Can you help me deploy this sample flask app to cloud run service
Zawiera instrukcje i polecenia, których należy użyć, aby hostować aplikację w usłudze Cloud Run. Postępuj zgodnie z instrukcjami.
Oto przykładowa odpowiedź wyjściowa
Kroki wdrażania w Cloud Run
- Wymagania wstępne:
- Konto Google Cloud: musisz mieć konto Google Cloud z włączonymi płatnościami.
- gcloud CLI: zainstaluj i zainicjuj pakiet SDK Google Cloud (gcloud CLI) na komputerze lokalnym. Będziesz go używać do interakcji z Google Cloud z terminala.
- Docker: zainstaluj Dockera na komputerze lokalnym. Cloud Run używa Dockera do konteneryzacji aplikacji.
- Konfiguracja projektu: upewnij się, że w gcloud CLI masz wybrany projekt Google Cloud. Możesz to sprawdzić za pomocą
gcloud config list projecti ustawić za pomocągcloud config set project YOUR_PROJECT_ID
Uwaga: ponieważ całą tę aktywność wykonujemy w Cloud Shell, nie musimy konfigurować projektów.
- Utwórz **
requirements.txt****:**
- Ten plik zawiera listę wszystkich pakietów Pythona, których potrzebuje Twoja aplikacja. W katalogu projektu (w którym znajduje się plik
main.py) utwórz plik o nazwierequirements.txti dodaj do niego ten wiersz:
- Utwórz **
Dockerfile****:**
Dockerfileokreśla sposób tworzenia obrazu Dockera dla aplikacji. Utwórz w katalogu projektu plik o nazwieDockerfile(bez rozszerzenia) i dodaj do niego ten kod:
# 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"]
- Skompiluj obraz Dockera:
- Otwórz terminal, przejdź do katalogu projektu i uruchom to polecenie:
gcloud builds submit –tag gcr.io/bgr-workshop-23rd/travel-buddy
- Wdrażanie w Cloud Run:
- Po utworzeniu i przesłaniu obrazu wdróż go w Cloud Run za pomocą tego polecenia:
gcloud run deploy travel-buddy --image gcr.io/bgr-workshop-23rd/travel-buddy --region us-central1
Po wykonaniu tych kroków Twoja aplikacja ze zintegrowanym agentem AI będzie dostępna dla użytkowników.
Gratulujemy i życzymy przyjemnej nauki.
6. Czyszczenie
Aby uniknąć obciążenia konta Google Cloud opłatami za zasoby użyte w tym laboratorium, wykonaj te czynności:
- W konsoli Google Cloud otwórz stronę Zarządzanie zasobami.
- Z listy projektów wybierz projekt do usunięcia, a potem kliknij Usuń.
- W oknie wpisz identyfikator projektu i kliknij Wyłącz, aby usunąć projekt.
- Możesz też otworzyć Cloud Run w konsoli, wybrać wdrożoną usługę i ją usunąć.