Na tej stronie dowiesz się, jak zacząć wdrażać funkcje generatywnej AI w aplikacji. Opisujemy tu funkcje i integracje Firestore, które wykorzystują generatywną AI.
Szybki start z wyszukiwaniem wektorowym za pomocą Cloud Firestore
Tworzenie innowacyjnych rozwiązań opartych na AI do zastosowań takich jak rekomendacje produktów i czatboty często wymaga wyszukiwania podobieństwa wektorów, czyli w skrócie wyszukiwania wektorowego. Możesz przeprowadzać wyszukiwanie wektorowe na danych Firestore bez konieczności kopiowania ich do innego rozwiązania do wyszukiwania wektorowego, co pozwala zachować 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 do korzystania 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 dystrybucyjnych w Firestore
Po wygenerowaniu wektorów dystrybucyjnych możesz je zapisać w Firestore za pomocą jednego z obsługiwanych pakietów SDK. Oto jak 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 wektorowy
Następnym krokiem jest utworzenie indeksu wektorowego Firestore KNN, w którym przechowywane są wektory dystrybucyjne. W wersji testowej musisz utworzyć indeks za pomocą narzędzia wiersza poleceń gcloud.
Wykonywanie wyszukiwania wektorowego
Po dodaniu wszystkich wektorów dystrybucyjnych i utworzeniu indeksu wektorowego możesz uruchomić wyszukiwanie. Następnie użyjesz wywołania find_nearest na odwołaniu do kolekcji, aby przekazać wektor dystrybucyjny zapytania, z którym chcesz porównać przechowywane wektory dystrybucyjne, i określić funkcję odległości, której chcesz użyć.
Więcej informacji o przepływie pracy i przypadkach użycia znajdziesz w poście na blogu.
Rozwiązanie: wyszukiwanie wektorowe
Podsumowanie: przechowywanie wektorów dystrybucyjnych i wysyłanie zapytań o nie.
Przypadek użycia: ta funkcja jest używana przez inne narzędzia i funkcje.
Zobacz przewodnik po wyszukiwaniu wektorowym
Rozwiązanie: integracje LangChain
Podsumowanie: używaj Firestore jako magazynu wektorów, modułu do wczytywania dokumentów lub źródła historii wiadomości na czacie w LangChain.
Przypadek użycia: tworzenie aplikacji opartych na generatywnej AI lub przepływów pracy generowania wspomaganego wyszukiwaniem (RAG).
Zapoznaj się z przewodnikiem po LangChain
Rozwiązanie: Genkit
Podsumowanie: Genkit to platforma open source, która pomaga tworzyć, wdrażać i monitorować aplikacje oparte na AI gotowe do wykorzystania w środowisku produkcyjnym.
Przypadek użycia: używaj Genkit i Cloud Firestore do tworzenia aplikacji, które generują niestandardowe treści, korzystają z wyszukiwania semantycznego, obsługują nieuporządkowane dane wejściowe, odpowiadają na pytania na podstawie firmowych baz danych i nie tylko.