Empezar a usar la IA generativa

En esta página se explica cómo empezar a implementar funciones de IA generativa en tu aplicación. Se describen las funciones e integraciones de Firestore que implican la IA generativa.

Guía de inicio rápido de la búsqueda vectorial con Firestore

Para crear soluciones innovadoras basadas en IA para casos prácticos como las recomendaciones de productos y los chatbots, a menudo se necesita la búsqueda de similitud de vectores, o búsqueda de vectores. Puedes realizar búsquedas de vectores en datos de Firestore sin tener que copiar datos en otra solución de búsqueda de vectores, lo que te permite mantener la simplicidad y la eficiencia operativas.

El flujo de trabajo principal de la búsqueda de vectores en Firestore consta de cuatro pasos.

Descubre todo sobre la búsqueda vectorial en esta entrada de blog

Generar incrustaciones de vectores

El primer paso para utilizar la búsqueda de vectores es generar incrustaciones de vectores. Las incrustaciones son representaciones de diferentes tipos de datos, como texto, imágenes y vídeo, que capturan similitudes semánticas o sintácticas entre las entidades que representan. Las inserciones se pueden calcular mediante un servicio, como la API Text Embeddings de Vertex AI.

Almacenar incrustaciones en Firestore

Una vez que se hayan generado las incrustaciones, puedes almacenarlas en Firestore con uno de los SDKs admitidos. Así es esta 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
});

Crear un índice vectorial

El siguiente paso es crear un índice vectorial KNN de Firestore donde se almacenan las inserciones vectoriales. Durante la versión preliminar, tendrás que crear el índice con la herramienta de línea de comandos gcloud.

Una vez que hayas añadido todas las inserciones vectoriales y hayas creado el índice vectorial, podrás ejecutar la búsqueda. A continuación, utilizarás la llamada find_nearest en una referencia de colección para transferir la incrustación del vector de consulta con la que comparar las incrustaciones almacenadas y especificar la función de distancia que quieras utilizar.

Una vez más, consulta el flujo de trabajo y más casos prácticos en esta entrada de blog.

Resumen: almacena y consulta incrustaciones de vectores.

Caso práctico: esta función la usan otras herramientas y funciones.

Consulta la guía de búsqueda vectorial.

Solución: extensión para la búsqueda vectorial con Firebase

Resumen: usa la extensión de Firebase para insertar y consultar automáticamente tus documentos de Firestore con la función de búsqueda vectorial.

Caso práctico: realizar búsquedas vectoriales automáticas en tus proyectos de Firebase.

Revisar 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 del historial de mensajes de chat para LangChain.

Caso práctico: crear aplicaciones de IA generativa o flujos de trabajo de generación aumentada de recuperación (RAG).

Consulta la guía de LangChain.

Solución: Genkit

Resumen: Genkit es un framework de código abierto que te ayuda a crear, desplegar y monitorizar aplicaciones basadas en IA listas para producción.

Caso práctico: usa Genkit y Firestore para crear aplicaciones que generen contenido personalizado, usen la búsqueda semántica, gestionen entradas no estructuradas, respondan a preguntas con tus datos empresariales y mucho más.

Consulta la documentación de Genkit.