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 chatboty 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 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 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 jednostkami. Wektory dystrybucyjne można obliczać za pomocą usługi takiej jak interfejs Vertex AI text-embeddings API.
Zapisywanie wektorów osadzania 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 Node.js:
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
});
Tworzenie indeksu wektorowego
Następnym krokiem jest utworzenie indeksu wektorowego KNN Firestore, w którym będą przechowywane wektory osadzeń. W wersji testowej musisz utworzyć indeks za pomocą narzędzia wiersza poleceń gcloud
.
Przeprowadź wyszukiwanie wektorowe.
Po dodaniu wszystkich osadzeń wektorowych 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.
Przypadek użycia: 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 RAG.
Zobacz przewodnik 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 wdrożenia 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ą nieustrukturyzowane dane wejściowe, odpowiadają na pytania na podstawie danych firmy i wykonują wiele innych czynności.