Na tej stronie znajdziesz informacje, które pomogą Ci zacząć wdrażać w aplikacji funkcje oparte na generatywnej AI. Opisujemy tu funkcje i integracje Firestore, które wykorzystują generatywną AI.
Szybkie wprowadzenie do wyszukiwania wektorowego za pomocą Cloud Firestore
Tworzenie innowacyjnych rozwiązań opartych na AI do zastosowań takich jak rekomendacje dotyczące produktów czy czatboty często wymaga wyszukiwania podobieństwa wektorowego, czyli wyszukiwania wektorowego. Możesz przeprowadzać wyszukiwanie wektorowe w danych Firestore bez konieczności kopiowania ich do innego rozwiązania do wyszukiwania wektorowego, co zapewnia prostotę i wydajność operacyjną.
Podstawowy proces wyszukiwania wektorowego w Cloud Firestore składa się z 4 etapów.
Więcej informacji o wyszukiwaniu wektorowym znajdziesz w naszym poście na blogu
Generowanie wektorów dystrybucyjnych
Pierwszym krokiem w korzystaniu z wyszukiwania wektorowego jest wygenerowanie wektorów dystrybucyjnych. Reprezentacje właściwościowe to reprezentacje różnych rodzajów danych, takich jak tekst, obrazy i filmy, które odzwierciedlają podobieństwa semantyczne lub syntaktyczne między reprezentowanymi przez nie elementami. Wektory dystrybucyjne można obliczać za pomocą usługi takiej jak interfejs Vertex AI text-embeddings API.
Przechowywanie wektorów w Firestore
Po wygenerowaniu wektorów możesz je zapisać w Firestore za pomocą jednego z obsługiwanych pakietów SDK. Oto jak ta operacja wygląda 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 wektorowy
Następnym krokiem jest utworzenie indeksu wektorowego KNN Firestore, w którym będą przechowywane wektory dystrybucyjne. W wersji testowej musisz utworzyć indeks za pomocą narzędzia wiersza poleceń gcloud.
Wyszukiwanie wektorowe
Po dodaniu wszystkich wektorów dystrybucyjnych i utworzeniu indeksu wektorowego możesz uruchomić wyszukiwanie. Następnie użyjesz wywołania find_nearest w odniesieniu do kolekcji, aby przekazać wektor dystrybucyjny zapytania, z którym chcesz porównać zapisane wektory dystrybucyjne, i określić funkcję odległości, której chcesz użyć.
Jeszcze raz zapoznaj się z przepływem pracy i innymi przypadkami użycia w naszym poście na blogu.
Rozwiązanie: wyszukiwanie wektorowe
Podsumowanie: przechowywanie wektorów dystrybucyjnych i wysyłanie zapytań o nie.
Zastosowanie: ta funkcja jest używana przez inne narzędzia i funkcje.
Zobacz przewodnik po wyszukiwaniu wektorowym
Rozwiązanie: rozszerzenie do wyszukiwania wektorowego w Firebase
Podsumowanie: użyj rozszerzenia Firebase, aby automatycznie osadzać dokumenty Firestore i wykonywać na nich zapytania za pomocą funkcji wyszukiwania wektorowego.
Przypadek użycia: automatyczne wyszukiwanie wektorowe w projektach Firebase.
Rozwiązanie: integracje LangChain
Podsumowanie: używaj Firestore jako magazynu wektorów, narzędzia do wczytywania dokumentów lub źródła historii wiadomości na czacie w LangChain.
Przypadek użycia: tworzenie aplikacji generatywnej AI lub przepływów pracy do generowania rozszerzonego przez wyszukiwanie w zapisanych informacjach (RAG).
Zobacz przewodnik po LangChain
Rozwiązanie: Genkit
Podsumowanie: Genkit to platforma open source, która pomaga tworzyć, wdrażać i monitorować gotowe do wdrożenia produkcyjnego aplikacje oparte na AI.
Przypadek użycia: używaj Genkit i Cloud Firestore do tworzenia aplikacji, które generują niestandardowe treści, korzystają z wyszukiwania semantycznego, obsługują nieustrukturyzowane dane wejściowe, odpowiadają na pytania na podstawie danych firmy i wykonują wiele innych czynności.