Compartir a través de


Bases de datos vectoriales para .NET con AI

Las bases de datos vectoriales están diseñadas para almacenar y administrar inserciones de vectores. Las inserciones son representaciones numéricas de datos no numéricos que conservan el significado semántico. Palabras, documentos, imágenes, audio y otros tipos de datos se pueden vectorizar. Puede usar inserciones para ayudar a un modelo de inteligencia artificial a comprender el significado de las entradas para que pueda realizar comparaciones y transformaciones, como resumir texto, buscar datos relacionados contextualmente o crear imágenes a partir de descripciones de texto.

Por ejemplo, puede usar una base de datos vectorial para:

  • Identifique imágenes, documentos y canciones similares en función de su contenido, temas, sentimientos y estilos.
  • Identifique productos similares en función de sus características, funciones y grupos de usuarios.
  • Recomiende el contenido, productos o servicios en función de las preferencias del usuario.
  • Identifique las mejores opciones posibles de un gran grupo de opciones para cumplir los requisitos complejos.
  • Identifique anomalías de datos o actividades fraudulentas que no sean similares a los patrones predominantes o normales.

Las bases de datos vectoriales proporcionan capacidades de búsqueda de vectores para encontrar elementos similares según sus características de datos, en lugar de coincidencias exactas en un campo de propiedades. La búsqueda vectorial funciona mediante el análisis de las representaciones vectoriales de sus datos que creó mediante un modelo de incrustación de IA, como los modelos de incrustación de Azure OpenAI. El proceso de búsqueda mide la distancia entre los vectores de datos y el vector de consulta. Los vectores de datos más cercanos al vector de consulta son los más similares semánticamente.

Algunos servicios como Azure Cosmos DB for MongoDB vCore ofrecen capacidades de búsqueda vectorial nativas para tus datos. Otras bases de datos se pueden mejorar con búsquedas vectoriales mediante la indexación de los datos almacenados usando un servicio como Azure AI Search, que puede escanear e indexar tus datos para proporcionar capacidades de búsqueda vectorial.

Flujos de trabajo de búsqueda vectorial con .NET y OpenAI

Las bases de datos vectoriales y sus características de búsqueda son especialmente útiles en los flujos de trabajo de patrones RAG con Azure OpenAI. Este patrón permite aumentar o mejorar el modelo de inteligencia artificial con conocimientos semánticos adicionales de los datos. Un flujo de trabajo de IA común mediante bases de datos vectoriales puede incluir los pasos siguientes:

  1. Cree embeddings para sus datos mediante un modelo de embeddings de OpenAI.
  2. Almacene e indexe las inserciones en una base de datos de vectores o un servicio de búsqueda.
  3. Convierta las solicitudes de usuario de tu aplicación en embeddings.
  4. Ejecute una búsqueda vectorial en sus datos, comparando la representación vectorial de las indicaciones de usuario con las representaciones vectoriales de su base de datos.
  5. Use un modelo de lenguaje como GPT-35 o GPT-4 para ensamblar una finalización fácil de usar a partir de los resultados de búsqueda vectorial.

Consulte el tutorial Implementación de Azure OpenAI con RAG mediante el vector de búsqueda en una aplicación .NET para ver un ejemplo práctico de este flujo.

Entre otras ventajas del patrón RAG se incluyen:

  • La generación de respuestas contextualmente relevantes y precisas a las solicitudes del usuario a partir de modelos de inteligencia artificial.
  • Superar los límites de tokens de LLM: la parte más laboriosa se realiza a través de la búsqueda vectorial en la base de datos.
  • La reducción de los costos del ajuste frecuente de los datos actualizados.