Questa pagina ti aiuta a iniziare a implementare le funzionalità di AI generativa nella tua app. Descrive le funzionalità e le integrazioni per Firestore che coinvolgono l'AI generativa.
Guida rapida per la ricerca vettoriale con Cloud Firestore
La creazione di soluzioni innovative basate sull'AI per casi d'uso come i suggerimenti sui prodotti e i chatbot spesso richiede la ricerca di somiglianza vettoriale o, in breve, Vector Search. Puoi eseguire ricerche vettoriali sui dati di Firestore senza l'onere di copiare i dati in un'altra soluzione di ricerca vettoriale, mantenendo la semplicità e l'efficienza operative.
Il flusso di lavoro principale per la ricerca vettoriale in Cloud Firestore prevede 4 passaggi.
Scopri di più sulla ricerca vettoriale nel nostro blog post
Genera vector embedding
Il primo passaggio per utilizzare Vector Search è generare vector embedding. Gli embedding sono rappresentazioni di diversi tipi di dati, come testo, immagini e video, che acquisiscono somiglianze semantiche o sintattiche tra le entità che rappresentano. Gli embedding possono essere calcolati utilizzando un servizio, come l'API Vertex AI text-embeddings.
Archivia gli embedding in Firestore
Una volta generati, gli embedding possono essere archiviati in Firestore utilizzando uno degli SDK supportati. Ecco come appare questa operazione nell'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
});
Crea un indice vettoriale
Il passaggio successivo consiste nel creare un indice vettoriale KNN di Firestore in cui vengono archiviati i vector embedding. Durante la versione di anteprima, dovrai creare l'indice utilizzando lo strumento a riga di comando gcloud.
Esegui la ricerca vettoriale
Dopo aver aggiunto tutti i vector embedding e creato l'indice vettoriale, puoi eseguire la ricerca. Utilizzerai quindi la chiamata find_nearest su un riferimento alla raccolta per passare il vector embedding della query con cui confrontare gli embedding archiviati e per specificare la funzione di distanza che vuoi utilizzare.
Ancora una volta, esplora il workflow e altri casi d'uso nel nostro blog post.
Soluzione: Vector Search
Riepilogo: archivia ed esegui query su vector embedding.
Caso d'uso: questa funzionalità viene utilizzata da altri strumenti e funzionalità.
Consulta la guida per la ricerca vettoriale
Soluzione: integrazioni con LangChain
Riepilogo: utilizza Firestore come archivio vettoriale, loader di documenti o origine della cronologia dei messaggi di chat per LangChain.
Caso d'uso: crea applicazioni di AI generativa o flussi di lavoro di Retrieval-Augmented Generation (RAG).
Consulta la guida per LangChain
Soluzione: Genkit
Riepilogo: Genkit è un framework open source che ti aiuta a creare, eseguire il deployment e monitorare app basate sull'AI pronte per la produzione.
Caso d'uso: utilizza Genkit e Cloud Firestore per creare app che generano contenuti personalizzati, utilizzano la ricerca semantica, gestiscono input non strutturati, rispondono a domande con i dati aziendali e molto altro.
Consulta la documentazione di Genkit