Na tej stronie dowiesz się, jak wdrożyć funkcje generatywnej AI na swoim aplikacji. Opisano w nim funkcje i integracje dla Firestore obejmujące i generatywnej AI.
Krótkie wprowadzenie do wyszukiwania wektorowego w Cloud Firestore
Tworzenie innowacyjnych rozwiązań opartych na AI na potrzeby przypadków użycia takich jak usługi rekomendacje i czatboty często wymagają wyszukiwania podobieństw wektorowych, w skrócie. Dane Firestore można przeszukiwać wektorowo bez problemów związanych z kopiowaniem danych do innego rozwiązania do wyszukiwania wektorowego, co pozwala dla prostoty i wydajności operacyjnej.
Podstawowy przepływ pracy wyszukiwania wektorowego w Cloud Firestore składa się z 4 kroków.
Więcej informacji na temat wyszukiwania wektorowego znajdziesz w poście na blogu
Wygeneruj wektory dystrybucyjne wektorów
Pierwszym krokiem przy korzystaniu z wyszukiwania wektorowego jest wygenerowanie wektorów dystrybucyjnych wektorów. Wektory dystrybucyjne to reprezentacja różnego rodzaju danych, takich jak tekst, obrazy, i filmy uwydatniające podobieństwa semantyczne lub składniowe między elementami; reprezentowanych przez nich. Wektory dystrybucyjne można obliczać za pomocą usługi, takiej jak Interfejs Vertex AI text-embeddings API.
Sklep wektory dystrybucyjne w Firestore
Po wygenerowaniu wektorów dystrybucyjnych możesz je przechowywać w Firestore przy użyciu jednej z z obsługiwanych pakietów SDK. Tak wygląda ta operacja w pakiecie SDK NodeJS:
const db = new Firestore();
let collectionRef = db.collection("beans");
await collectionRef.add({
name: "Kahawa coffee beans",
type: "arabica",
description: "Information about the Kahawa coffee beans.",
embedding_field: FieldValue.vector([0.1, 0.3, ..., 0.2]), // a vector with 768 dimensions
});
Utwórz indeks wektorów
Następnym krokiem jest utworzenie indeksu wektorów KNN Firestore, w którym
wektory dystrybucyjne są przechowywane. Podczas korzystania z wersji testowej musisz utworzyć
w indeksie za pomocą narzędzia wiersza poleceń gcloud
.
Wykonaj wyszukiwanie wektorowe
Po dodaniu wszystkich wektorów dystrybucyjnych wektorów i utworzeniu indeksu wektorów
mogą rozpocząć wyszukiwanie. Następnie będziesz używać wywołania find_nearest
w
odniesienie do kolekcji w celu przekazania wektora dystrybucyjnego zapytania, z którym ma być porównywany
zapisanych wektorów dystrybucyjnych oraz do określania funkcji odległości, której chcesz użyć.
Ponownie omawiamy przepływ pracy i inne przypadki użycia w naszym poście na blogu.
Rozwiązanie: wyszukiwanie wektorowe
Podsumowanie: przechowywanie wektorów dystrybucyjnych i zapytań.
Przypadek użycia: ta funkcja jest wykorzystywana przez inne narzędzia i funkcje.
Zobacz przewodnik po wyszukiwaniu wektorowym
Rozwiązanie: rozszerzenie wyszukiwania wektorowego w Firebase
Podsumowanie: Użyj rozszerzenia Firebase, aby automatycznie osadzić Dokumenty Firestore z funkcją wyszukiwania wektorowego.
Przykład zastosowania: automatyczne wyszukiwanie wektorowe w projektach Firebase.
Sprawdzanie opisu rozszerzenia
Rozwiązanie: integracje LangChain
Podsumowanie: używanie Firestore jako magazynu wektorów, modułu ładowania dokumentów lub wiadomości czatu źródłem historii dla LangChain.
Przypadek użycia: tworzenie aplikacji generatywnej AI lub generowania rozszerzonego przez pobieranie danych (RAG).
Zobacz przewodnik po LangChain
Rozwiązanie: Genkit
Podsumowanie: Firebase Genkit to platforma open source ułatwiająca tworzenie, wdrażać i monitorować aplikacje oparte na AI gotowe do wykorzystania w środowisku produkcyjnym.
Przypadek użycia: tworzenie aplikacji generujących wygenerowanie danych za pomocą usług Genkit oraz Cloud Firestore niestandardowa treść, użyj wyszukiwania semantycznego, obsługa nieuporządkowanych danych wejściowych, odpowiedź związane z firmowymi bazami danych i nie tylko.
Zobacz dokumentację Firebase Genkit