Esta página te ayuda a comenzar a implementar funciones de IA generativa en tu app. Aquí se describen las integraciones y funciones para Firestore que incluyen IA generativa.
Guía de inicio rápido para la búsqueda vectorial con Cloud Firestore
Crear soluciones innovadoras con tecnología de IA para casos de uso como las recomendaciones de productos y los chatbots suelen requerir la búsqueda de similitud de vectores, o búsqueda de vectores (forma abreviada). Puedes realizar una búsqueda vectorial en los datos de Firestore sin la molestia de copiar datos a otra solución de búsqueda vectorial, manteniendo la simplicidad y la eficiencia operativa.
El flujo de trabajo principal para la búsqueda vectorial en Cloud Firestore consta de 4 pasos.
Comprende mejor la búsqueda vectorial en nuestra entrada de blog
Genera embeddings de vectores
El primer paso para usar la búsqueda vectorial es generar embeddings de vectores. Los embeddings son representaciones de distintos tipos de datos, como texto, imágenes, y video, que capturan similitudes semánticas o sintácticas entre las entidades que representan. Los embeddings se pueden calcular utilizando un servicio, como la API de embeddings de texto de Vertex AI.
Guarda embeddings en Firestore
Cuando se generen embeddings, puedes almacenarlos en Firestore con uno de los SDKs compatibles. Así se ve esa operación en el SDK de 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 índice vectorial
El próximo paso es crear un índice vectorial de KNN de Firestore en el que
se almacenen los embeddings de vectores. Durante la versión preliminar, deberás crear el
índice con la herramienta de línea de comandos de gcloud
.
Realiza la búsqueda vectorial
Una vez que hayas agregado todos los embeddings vectoriales y creado el índice vectorial,
están listo para ejecutar la búsqueda. Deberás usar la llamada de find_nearest
en la
referencia de una colección para pasar el embedding de vector de la pregunta con el que se compararán
los embeddings almacenados y especificar la función de distancia que quieres usar.
Puedes explorar el flujo de trabajo y más casos de uso en nuestra entrada de blog.
Solución: búsqueda de vectores
Resumen: Almacena y consulta embeddings de vectores.
Caso de uso: Esta función la usan las otras herramientas y funciones.
Consulta la guía de la búsqueda de vectores
Solución: Extensión para la búsqueda de vectores con Firebase
Resumen: Usa la extensión de Firebase para incorporar y consultar automáticamente tus Documentos de Firestore con la función de búsqueda de vectores
Caso práctico: Realiza la búsqueda automática de vectores en tus proyectos de Firebase.
Revisa la descripción de la extensión
Solución: Integraciones de LangChain
Resumen: Usa Firestore como almacén de vectores, cargador de documentos o fuente de historial de mensajes de chat para LangChain.
Caso de uso: Crea aplicaciones de IA generativa o flujos de trabajo de Generaciones mejoradas por recuperación (RAG).
Solución: Genkit
Resumen: Firebase Genkit es un framework de código abierto que te ayuda a compilar, implementar y supervisar apps impulsadas por IA listas para la producción.
Caso de uso: Usa Genkit y Cloud Firestore para crear apps que generen contenido personalizado, usen búsqueda semántica, manejen entradas no estructuradas, respondan preguntas sobre los datos de tu empresa y mucho más.
Consulta la documentación de Firebase Genkit