Twórz funkcje generatywnej AI opartej na Twoich danych za pomocą Firebase Genkit

1. Zanim zaczniesz

Dzięki temu ćwiczeniu w programowaniu dowiesz się, jak korzystać z Firebase Genkit – platformy open source do integracji generatywnej AI z aplikacją. Z Genkit możesz korzystać dzięki wielu umiejętnościom i narzędziom do tworzenia aplikacji, które już znasz, na przykład Firestore.

Wymagania wstępne

  • Znajomość Firestore, Node.js i TypeScriptu.

Czego się nauczysz

  • Poznaj nowe sposoby tworzenia w Firestore przy użyciu wyszukiwania podobieństw wektorowych.
  • Zgłębiaj tajemnice generatywnej AI i wykorzystaj ją w praktyce w przypadku codziennego tworzenia aplikacji przy użyciu Genkit.
  • Przygotuj rozwiązanie do integracji i wdrożenia.

Czego potrzebujesz

  • wybraną przeglądarkę, na przykład Google Chrome;
  • Środowisko programistyczne z edytorem kodu i terminalem
  • Konto Google do tworzenia projektu Firebase i zarządzania nim

2. Sprawdzanie używanych aplikacji internetowych i usług w chmurze

W tej sekcji zapoznasz się z aplikacją internetową, którą utworzysz w ramach tego ćwiczenia z programowania, oraz poznasz usługi w chmurze, których będziesz używać.

Aplikacja internetowa

Dzięki temu ćwiczeniu w Codelabs będziesz pracować w bazie kodu aplikacji o nazwie Compass. To aplikacja do planowania wakacji. Użytkownicy mogą wybrać miejsce docelowe, przejrzeć atrakcje w danym miejscu i utworzyć plan podróży.

Aplikacja musi zwiększyć zaangażowanie na stronie głównej aplikacji. W ramach tego ćwiczenia w programie wdrożysz 2 pomysły oparte na generatywnej AI (czyli genAI):

  • Aplikacja wyświetla obecnie statyczną listę miejsc docelowych. Zmień ją na dynamiczną.
  • Wdrożysz automatycznie wypełniany plan podróży, aby zwiększyć zainteresowanie użytkowników.

D54f2043af908fb.png

Używane usługi

Dzięki temu ćwiczeniu w Codelabs będziesz używać wielu usług oraz funkcji Firebase i Cloud, a większość kodu startowego do nich otrzymasz na swoim koncie. Poniższa tabela zawiera usługi, z których będziesz korzystać, oraz powody, dla których warto z nich korzystać.

Usługa

Powód użycia

Firebase Genkit.

Genkit służy do wprowadzania generatywnej AI do aplikacji Node.js lub Next.js.

Cloud Firestore

Przechowujesz dane w Cloud Firestore, które są następnie używane do wyszukiwania podobieństw wektorowych.

Vertex AI Google Cloud

Do obsługi funkcji AI używasz modeli podstawowych Vertex AI (takich jak Gemini).

Firebase App Hosting.

Opcjonalnie możesz użyć nowego, ulepszonego Firebase App Hosting, aby udostępniać dynamiczną aplikację internetową Next.js (połączoną z repozytorium GitHub).

3. Konfigurowanie środowiska programistycznego

Sprawdzanie wersji Node.js

  1. Sprawdź w terminalu, czy masz zainstalowane środowisko Node.js w wersji 20.0.0 lub nowszej:
    node -v
    
  2. Jeśli nie masz środowiska Node.js w wersji 20.0.0 lub nowszej, pobierz najnowszą wersję LTS i zainstaluj ją.

Pobieranie kodu źródłowego do ćwiczenia w Codelabs

Jeśli masz konto GitHub:

  1. Utwórz nowe repozytorium przy użyciu naszego szablonu dostępnego na stronie github.com/FirebaseExtended/codelab-ai-genkit-rag65ef006167d600ab.png
  2. Sklonuj utworzone przed chwilą repozytorium GitHub ćwiczenia z programowania:
    git clone https://github.com/<your-github-handle>/codelab-ai-genkit-rag
    

Jeśli nie masz zainstalowanego Gita lub nie chcesz tworzyć nowego repozytorium:

Pobierz repozytorium GitHub jako plik ZIP.

Sprawdzanie struktury folderów

Na komputerze lokalnym znajdź sklonowane repozytorium i sprawdź strukturę folderów:

Folder

Opis

genkit-functions

Kod Genkit backendu

load-firestore-data

Pomocnicze narzędzie wiersza poleceń umożliwiające szybkie wstępne wypełnianie kolekcji Firestore

*Wszystkie pozostałe

Kod aplikacji internetowej Next.js

Folder główny zawiera plik README.md, który umożliwia szybkie uruchomienie aplikacji internetowej w prostych instrukcjach. Jeśli jednak dopiero uczysz się programowania, zalecamy wykonanie tego ćwiczenia (a nie krótkiego wprowadzenia), ponieważ zawiera ono najbardziej kompleksowy zestaw instrukcji.

Jeśli nie masz pewności, czy kod został prawidłowo zastosowany zgodnie z instrukcjami w tym ćwiczeniu, kod rozwiązania znajdziesz w git end.

Instalowanie interfejsu wiersza poleceń Firebase

  1. Sprawdź, czy masz zainstalowany interfejs wiersza poleceń Firebase i czy jest to wersja 13.6 lub nowsza:
    firebase --version
    
  2. Jeśli masz zainstalowany interfejs wiersza poleceń Firebase w wersji innej niż 13.6, ale nie jest w wersji 13.6 lub nowszej, zaktualizuj ją:
    npm update -g firebase-tools
    
  3. Jeśli nie masz zainstalowanego interfejsu wiersza poleceń Firebase, zainstaluj go:
    npm install -g firebase-tools
    

Jeśli nie możesz zaktualizować lub zainstalować interfejsu wiersza poleceń Firebase z powodu błędów uprawnień, zapoznaj się z dokumentacją npm lub użyj innej opcji instalacji.

Zaloguj się do Firebase

  1. Zaloguj się w terminalu do Firebase:
    firebase login
    
    Jeśli terminal wyświetla informację, że jesteś już zalogowany(-a) w Firebase, możesz przejść do sekcji Konfigurowanie projektu Firebase tego ćwiczenia z programowania.
  2. W terminalu w zależności od tego, czy Firebase ma zbierać dane, wpisz Y czy N. (W tym ćwiczeniu z programowania sprawdzi się jedna z tych opcji)
  3. W przeglądarce wybierz swoje konto Google i kliknij Zezwól.

Instalowanie interfejsu wiersza poleceń gcloud w Google Cloud

  1. Zainstaluj interfejs wiersza poleceń gcloud.
  2. W terminalu zaloguj się w Google Cloud:
    gcloud auth login
    

4. Skonfiguruj projekt Firebase

W tej sekcji skonfigurujesz projekt Firebase i zarejestrujesz w nim aplikację internetową Firebase. W dalszej części tego ćwiczenia z programowania wdrożysz również kilka usług używanych przez przykładową aplikację internetową.

Wszystkie kroki opisane w tej sekcji wykonuje się w konsoli Firebase.

Tworzenie projektu Firebase

  1. Zaloguj się w konsoli Firebase, korzystając z konta Google.
  2. Kliknij Utwórz projekt, a potem wpisz jego nazwę (np. Compass Codelab).
    Zapamiętaj identyfikator przypisany automatycznie do Twojego projektu Firebase (lub kliknij ikonę Edytuj, aby ustawić preferowany identyfikator projektu). Będzie on później potrzebny do identyfikowania projektu Firebase w interfejsie wiersza poleceń Firebase. Jeśli zapomnisz swój identyfikator, zawsze możesz go znaleźć w ustawieniach projektu.
  3. Kliknij Dalej.
  4. Jeśli pojawi się taka prośba, przeczytaj i zaakceptuj warunki korzystania z Firebase, a potem kliknij Dalej.
  5. W ramach tych ćwiczeń w programie nie potrzebujesz Google Analytics, więc wyłącz tę opcję.
  6. Kliknij Utwórz projekt, poczekaj na udostępnienie projektu i kliknij Dalej.

Dodawanie aplikacji internetowej do projektu Firebase

  1. W projekcie Firebase otwórz ekran Przegląd projektu i kliknij af10a034ec77938d.pngSieć.Przycisk Internet u góry projektu Firebase
  2. W polu tekstowym Pseudonim aplikacji wpisz zapadający w pamięć pseudonim aplikacji, np. My Compass Codelab App
  3. Kliknij Zarejestruj aplikację > Dalej > Dalej > Przejdź do konsoli.
    Możesz pominąć wszystkie kroki związane z „hostowaniem” w procesie aplikacji internetowej, ponieważ w dalszej części tego ćwiczenia z programowania opcjonalnie skonfigurujesz usługę hostingową.

Aplikacja internetowa utworzona w projekcie Firebase

Świetnie! Twoja aplikacja internetowa została zarejestrowana w Twoim nowym projekcie Firebase.

Przejdź na wyższy abonament Firebase

Aby korzystać z Firebase Genkit i Vertex AI (i powiązanych z nimi usług w chmurze), musisz uaktualnić projekt Firebase i włączyć płatności.

Pamiętaj też, że po włączeniu płatności w projekcie Firebase obowiązują Cię opłaty za wywołania interfejsu Gemini API przez Genkit. Dowiedz się więcej o cenach Vertex AI.

Aby zmienić abonament projektu na wyższą wersję, wykonaj te czynności:

  1. Przejdź do Abonamentów Firebase w swoim projekcie Firebase.
  2. W oknie Abonamenty Firebase wybierz abonament Blaze i kup go.

Włączanie Cloud Firestore

  1. Przejdź do Firestore w panelu nawigacji po lewej stronie.
  2. Kliknij Utwórz bazę danych > Rozpocznij w trybie testowym > Dalej.
  3. Wybierz preferowaną lokalizację w Cloud Firestore (lub pozostaw ją domyślną).
  4. Kliknij Włącz.

Włącz Vertex AI

  1. W terminalu połącz interfejs wiersza poleceń gcloud z projektem Firebase:
    gcloud config set project YOUR_PROJECT_ID
    
  2. Włącz usługę Vertex AI:
    gcloud services enable aiplatform.googleapis.com
    

5. Konfigurowanie aplikacji internetowej

Aby uruchomić aplikację internetową, musisz uruchomić polecenia w terminalu i dodać kod w edytorze kodu.

Konfigurowanie interfejsu wiersza poleceń Firebase tak, aby uruchamiał się w projekcie Firebase

W terminalu poproś interfejs wiersza poleceń, aby używał Twojego projektu Firebase, uruchamiając to polecenie:

firebase use YOUR_PROJECT_ID

Wczytaj dane Firestore

W bazie kodu tych ćwiczeń w Codelabs zostały już wygenerowane przykładowe dane.

  1. Aby zaimportować dane do instancji Firestore, uruchom w terminalu to polecenie:
    cd load-firestore-data
    npm ci
    node index.js YOUR_PROJECT_ID
    cd ..
    
  2. W konsoli Firebase przejdź do Firestore w projekcie Firebase. Powinien być widoczny zaimportowany schemat.

Łączenie aplikacji internetowej z projektem Firebase

Baza kodu aplikacji internetowej musi wiedzieć, którego projektu Firebase ma używać w przypadku usług (np. bazy danych). W tym celu dodaj konfigurację Firebase do bazy kodu aplikacji.

  1. Uzyskaj konfigurację Firebase:
    1. W konsoli Firebase otwórz Ustawienia projektu w projekcie Firebase.
    2. Przewiń w dół do sekcji Twoje aplikacje i wybierz zarejestrowaną aplikację internetową.
    3. W panelu Konfiguracja i konfiguracja pakietu SDK skopiuj tylko fragment const firebaseConfig = {...}.
  2. Dodaj konfigurację Firebase do bazy kodu aplikacji internetowej:
    1. Otwórz plik genkit-functions/src/lib/genkit.config.ts w edytorze kodu.
    2. Zastąp odpowiednią sekcję skopiowanym kodem.
    3. Zapisz plik.

Wyświetlanie podglądu aplikacji internetowej w przeglądarce

  1. W terminalu zainstaluj zależności, a potem uruchom aplikację internetową:
    npm install
    npm run dev
    
  2. Aby wyświetlić aplikację internetową, otwórz w przeglądarce adres URL hostowanego lokalnie hostingu. W większości przypadków URL to http://localhost:3000/ lub podobny.

Strona powinna się wczytać:

A0df8e5ca6f08260.png

Compass to aplikacja Next.js wykorzystująca komponenty serwera React Server – to jest strona główna.

Kliknij Znajdź moją wymarzoną podróż. W przypadku niektórych stałych miejsc docelowych są w nim wyświetlane dane zakodowane na stałe:

19748ca14b354e7f.png

Zachęcamy do ich wypróbowania. Aby kontynuować, kliknij przycisk strony głównej ddf696577e4dc21f.png (w prawym górnym rogu).

6. Zacznij korzystać z Firebase Genkit

Teraz możesz zrobić krok w stronę generatywnej AI. W tej sekcji ćwiczeń z programowania zaimplementujesz funkcję sugerującą miejsce docelowe na podstawie inspiracji dostarczonych przez użytkowników.

Aby to zrobić, będziesz używać Firebase Genkit w połączeniu z Vertex AI Google Cloud jako dostawcą modelu generatywnego (Gemini). Firebase będziesz używać jako magazynu stanu śledzenia i przepływu (przy użyciu Firestore). Możesz też użyć Firebase do wdrożenia kodu Genkit za pomocą Firebase App Hosting.

Genkit ma „interfejs dla programistów”, dzięki któremu praca z narzędziem jest wizualna i łatwiejsza w obsłudze.

  1. Uruchom interfejs programisty Genkit, uruchamiając to polecenie w nowym oknie terminala:
    cd genkit-functions
    npx genkit start
    
  2. W przeglądarce otwórz adres URL usługi Genkit hostowanej lokalnie. W większości przypadków jest to http://localhost:4000/.

Zintegruj model Gemini

Firebase Genkit udostępnia wtyczkę Dotprompt i format tekstowy, które ułatwiają pisanie i porządkowanie promptów generatywnej AI.

Dotprompt opiera się na założeniu, że prompty są kodem. Prompty piszesz i przechowujesz w specjalnie sformatowanych plikach nazywanych plikami kropkaprompt, śledzisz w nich zmiany za pomocą tego samego systemu kontroli wersji, którego używasz w przypadku kodu, i wdrażasz je razem z kodem, który wywołuje Twoje modele generatywnej AI.

Aby użyć Dotprompt, zacznij od elementu hello-world:

  1. Otwórz plik genkit-functions/prompts/1-hello-world.prompt w edytorze kodu.
    Powinno być widoczne dane wejściowe i schemat wyjściowy.
  2. Otwórz narzędzie dotprompt/1-hello-world w interfejsie Firebase Genkit.
  3. Użyj dowolnej nazwy języka lub kodu, które znasz, albo pozostaw pusty ciąg znaków.
  4. Kliknij Wykonaj.83cc143583009c49.png
  5. Podaj kilka innych wartości. Duże modele językowe dobrze radzą sobie z rozumieniem skróconych, błędnie napisanych lub niepełnych promptów w prostych zapytaniach, takich jak to.

Zdefiniuj schematy JSON

A co jeśli nie chcesz po prostu tworzyć ściany z tekstem w interfejsie swojej aplikacji? Do wygenerowanego tekstu warto nadać ładny styl.

W Genkit możesz określić schemat, który ma wygenerować, a resztę zajmie się Genkit. Spójrz na następny prompt:

  1. Otwórz plik genkit-functions/prompts/2-simple-itinerary.prompt w edytorze kodu.
    Powinno być widoczne dane wejściowe i schemat wyjściowy.
  2. Otwórz narzędzie dotprompt/2-simple-itinerary w interfejsie Firebase Genkit.
  3. Wypełnij pola do wprowadzania miejsca i zainteresowań:
    {
        "place": "paris",
        "interests": [
            "diner"
        ]
    }
    
  4. Kliknij Wykonaj.20d18033b29f29e2.png

Tworząc schemat, przekazano LLM instrukcje potrzebne do wygenerowania danych. Genkit automatycznie sprawdzi dane wyjściowe. Możesz je nawet skonfigurować tak, aby ponownie wygenerować lub naprawić dane wyjściowe, jeśli nie będą zgodne ze schematem.

Wprowadzanie wielomodalne

Co zrobić, jeśli chcesz, by aplikacja tworzyła spersonalizowane, idealne miejsca na wakacje na podstawie inspirujących obrazów od użytkowników? Możesz to zrobić za pomocą Genkit oraz multimodalnego modelu generatywnego.

  1. Otwórz plik genkit-functions/prompts/imgDescription.prompt w edytorze kodu.
    Zwróć uwagę na składnię paska narzędzi {{media url=this}}.
  2. Otwórz narzędzie dotprompt/imgDescription w interfejsie Firebase Genkit.
  3. W polu do wprowadzania danych imageUrls użyj miniatury z Wikipedii:
    {
        "imageUrls": [ "https://upload.wikimedia.org/wikipedia/commons/thumb/4/4b/La_Tour_Eiffel_vue_de_la_Tour_Saint-Jacques%2C_Paris_ao%C3%BBt_2014_%282%29.jpg/556px-La_Tour_Eiffel_vue_de_la_Tour_Saint-Jacques%2C_Paris_ao%C3%BBt_2014_%282%29.jpg" ]
    }
    
  4. Kliknij Wykonaj.730a6a757d7951ed.png

7. Wdrażanie pobierania

Wszystkie te rodzaje AI są naprawdę świetne, ale jest pewien problem: masz bazę danych miejsc docelowych (miejsc i aktywności) i chcesz, aby model Gemini wykorzystywał tylko te dane do generowania danych wyjściowych. Musisz więc upewnić się, że wszystkie podane odpowiedzi są powiązane z danymi w bazie danych.

Jedną z najskuteczniejszych metod jest wyszukiwanie podobieństw wektorowych w wygenerowanych wektorach dystrybucyjnych, gdy musisz znaleźć odpowiednie treści w nieuporządkowanym zapytaniu.

  • Wektor jest po prostu tablicą liczb. Każda liczba na wektorze to jej wartość na wymiarze. W ten sposób na wykres można przedstawić wektor o dwóch wymiarach.
  • Model wektorowy dystrybucyjny to typ modelu AI, który pobiera dane wejściowe, na przykład dowolny tekst, i nanosi go na wykres. A miejsce na wykresie, w którym jest on istotne – dane wejściowe, które są do siebie podobne, pojawią się blisko siebie.

Wyszukiwanie podobieństw wektorów w Firestore

W Firestore masz listę miejsc, a każde z nich ma pole tekstowe z informacjami o najbardziej znanym miejscu.

Dla każdego miejsca utwórz pole vector o nazwie embedding, korzystając z danych z pola knownFor:

  1. Aby zainstalować w terminalu najnowszy komponent alfa, uruchom to polecenie. Potrzebujesz wersji 2024.05.03 lub nowszej:
    gcloud components install alpha
    
  2. Utwórz indeks:
    gcloud alpha firestore indexes composite create --project=YOUR_PROJECT_ID --collection-group=places --query-scope=COLLECTION --field-config=vector-config='{"dimension":"768","flat": "{}"}',field-path=embedding
    
  3. Otwórz element placesRetriever w interfejsie Firebase Genkit i uruchom go.
    Wynik to wbudowany obiekt z tekstem TODO. W następnych krokach musisz zaimplementować retriever.
  4. Otwórz plik genkit-functions/src/lib/placesRetriever.ts w edytorze kodu.
  5. Przewiń do końca i zastąp obiekt zastępczy placesRetriever tym kodem:
    export const placesRetriever = defineFirestoreRetriever({
      name: 'placesRetriever',
      firestore,
      collection: 'places',
      contentField: 'knownFor',
      vectorField: 'embedding',
      embedder: textEmbeddingGecko,
      distanceMeasure: 'COSINE',
    });
    

Teraz przeprowadź wyszukiwanie testowe:

  1. Otwórz placesRetriever w interfejsie Firebase Genkit.
  2. Wypełnij to zapytanie:
    {
        "content": [
            {
                "text": "new orleans"
            }
        ]
    }
    
  3. Opcjonalnie zmień niektóre Opcje, takie jak limit.
  4. Kliknij Wykonaj.A0725b52f0b6e03a.png

Możesz przeprowadzić dodatkowe filtrowanie danych, wykraczające poza podobieństwo, dodając do opcji klauzule where.

8. Generowanie rozszerzone przez wyszukiwanie w zapisanych informacjach (RAG)

W aplikacji znajdziesz kilka promptów, które wykorzystują tekst, JSON lub obrazy, aby wygenerować miejsca docelowe wypoczynku i inne ciekawe rzeczy dla użytkowników.

Masz nawet prompt, który zwraca odpowiednie miejsca docelowe znajdujące się w bazie danych (Firestore).

Nadszedł czas, aby je połączyć w swoim pierwszym procesie generowania rozszerzonego przez wyszukiwanie z użyciem plików danych (RAG):

  1. Otwórz plik genkit-functions/prompts/itineraryGen.prompt w edytorze kodu.
  2. Zobacz, jak zmienił się Twój prosty prompt z planem podróży, aby przyjmować więcej danych wejściowych, w tym activities zwróconego przez retrievera.
  3. Otwórz plik genkit-functions/src/lib/itineraryFlow.ts w edytorze kodu. Ten plik zawiera funkcję Firebase Genkit o nazwie przepływy.
    • Przepływy to funkcje z kilkoma dodatkowymi cechami: są ściśle zapisywane, strumieniowane, wywoływane lokalnie i zdalnie oraz w pełni dostrzegalne. Genkit udostępnia interfejs wiersza poleceń i narzędzia interfejsu dla programistów do pracy z przepływami (uruchamiania, debugowania itp.).
    • Aby ułatwić debugowanie, długie przepływy należy podzielić na kilka kroków.
  4. Znajdź TODO: 2 wokół linii 70. Ten przykład pokazuje, jak dodać krok do istniejącego przepływu. W tym miejscu puste pole imgDescription zastąpisz wynikiem wywołania metody imgDescription generującej.
  5. Otwórz itineraryFlow w interfejsie Firebase Genkit.
  6. Użyj tych danych wejściowych, aby przetestować wykonanie polecenia itineraryFlow z nowo dodanym krokiem:
    {
        "imageUrls": [ "https://upload.wikimedia.org/wikipedia/commons/thumb/4/4b/La_Tour_Eiffel_vue_de_la_Tour_Saint-Jacques%2C_Paris_ao%C3%BBt_2014_%282%29.jpg/556px-La_Tour_Eiffel_vue_de_la_Tour_Saint-Jacques%2C_Paris_ao%C3%BBt_2014_%282%29.jpg" ]
    }
    
  7. Kliknij Wykonaj.c512ec77e0251b7c.png
  8. Jeśli wystąpią błędy lub nieoczekiwane zachowania, szczegółowe informacje znajdziesz na karcie Zbadaj. Na tej karcie możesz też przejrzeć historię uruchomień w magazynie logów czasu.1ba6565e2e0decb.png

RAG dla aplikacji internetowej

Aby zobaczyć przykład integracji z Next.js, zapoznaj się ze stroną aplikacji internetowej Dream Your Holiday (http://localhost:3000/gemini) wraz z jej kodem źródłowym (src/app/gemini/page.tsx).

1e626124e09e04e9.png b059decb53c249a1.png e31f6acf87a98cb2.png 19c0c9459d5e1601.png

9. Wdróż aplikację

Pora na ostatni krok – wdrożenie aplikacji internetowej.

Możesz skorzystać z Firebase App Hosting, czyli rozwiązania do hostingu WWW, które ułatwia wdrożenie aplikacji Next.js i Angular w bezserwerowym backendzie – jest to proste rozwiązanie, które wymaga zatwierdzenia, przeniesienia i wykonania.

  1. Zatwierdź zmiany w GitHubie i prześlij je.
  2. W konsoli Firebase otwórz App Hosting (Hosting aplikacji) w projekcie Firebase.
  3. Kliknij Rozpocznij > Połącz z GitHub.
  4. Wybierz swoje konto GitHub i Repozytorium. Kliknij Dalej.
  5. W sekcji Ustawienia wdrożenia > Katalog główny pozostaw wartość domyślną.
  6. Jako gałąź Live wybierz główną gałąź repozytorium GitHub. Kliknij Dalej.
  7. Wpisz identyfikator backendu (na przykład compass).
  8. Kliknij Finish and Deploy (Zakończ i wdróż).

Przygotowanie nowego wdrożenia zajmie kilka minut. Stan wdrożenia możesz sprawdzić w sekcji App Hosting w konsoli Firebase.

Od tego momentu za każdym razem, gdy przekażesz zmianę do repozytorium GitHub, Firebase App Hosting będzie automatycznie kompilować i wdrażać Twoją aplikację.

10. Podsumowanie

Gratulacje! Dzięki temu ćwiczeniu z programowania udało Ci się wiele osiągnąć.

Korzystając z Firebase Genkit, Firestore i Vertex AI udało Ci się stworzyć „przepływ” dla spersonalizowanych wakacji, które są rekomendowane na podstawie preferencji i inspiracji użytkownika oraz oparte na danych aplikacji.

Omówiliśmy też kilka ważnych wzorców z inżynierii oprogramowania, które będą potrzebne podczas tworzenia aplikacji genAI:

  • Zarządzanie prośbami
  • Treści multimodalne
  • Schematy danych wejściowych/wyjściowych
  • Sklepy z wektorami
  • Pobieranie danych
  • Generowanie rozszerzone przez wyszukiwanie w zapisanych informacjach (RAG)
  • Instrumentacja „Flow”

Pamiętaj, że Firebase Genkit ma wiele opcji wdrażania, które nie zostały opisane w tym ćwiczeniu w Codelabs:

Po prostu wybierz ten, który jest dla Ciebie najlepszy, uruchamiając następujące polecenie w folderze węzła (package.json):

npx genkit init

Dalsze kroki