Comienza a usar la IA generativa

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 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 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.

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.

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).

Ver la guía de LangChain

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 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