Una vez que se supera el revuelo de los chatbots, queda claro que la IA generativa es una herramienta útil que proporciona una forma de navegar por aplicaciones y servicios utilizando un lenguaje natural. Al vincular nuestros grandes modelos de lenguaje (LLM) a fuentes de datos específicas, podemos evitar los riesgos que conlleva el uso exclusivo de datos de entrenamiento.
Si bien es posible ajustar un LLM en datos específicos, eso puede ser costoso y llevar mucho tiempo, y también puede limitarlo a un período de tiempo específico. Si desea respuestas precisas y oportunas, debe utilizar la generación de recuperación aumentada (RAG) para trabajar con sus datos.
RAG: el corazón de los copilotos de Microsoft
Las redes neuronales que impulsan los LLM son, en esencia, sofisticados motores de búsqueda de vectores que extrapolan las rutas de los vectores semánticos en un espacio de n dimensiones, donde cuanto mayor es la dimensionalidad, más complejo es el modelo. Por lo tanto, si va a utilizar RAG, necesita tener una representación vectorial de sus datos que pueda generar indicaciones y generar los vectores utilizados para generar resultados de un LLM. Por eso es una de las técnicas que impulsa los diversos copilotos de Microsoft.
Ya he hablado de estos enfoques antes, analizando Prompt Flow de Azure AI Studio, el marco de agentes inteligentes de Microsoft. Núcleo semánticoel impulso impulsado por Open AI de Power Platform en su rediseñado Q and A Maker Estudio copiloto, y más. En todos esos enfoques, hay una herramienta clave que debe incorporar a sus aplicaciones: una base de datos vectorial. Esto le permite utilizar las herramientas de incrustación utilizadas por un LLM para generar vectores de texto para su contenido, acelerando la búsqueda y proporcionando las semillas necesarias para impulsar un flujo de trabajo RAG. Al mismo tiempo, RAG y enfoques similares garantizan que los datos de su empresa permanezcan en sus servidores y no queden expuestos al mundo más amplio más allá de las consultas que están protegidas mediante controles de acceso basados en roles.
Si bien Microsoft ha estado agregando capacidades de búsqueda e índice de vectores a sus propias bases de datos, además de admitir almacenes de vectores de terceros en Azure, falta una tecnología de base de datos clave en la historia de RAG. Estas bases de datos que faltan son bases de datos de gráficos, un enfoque NoSQL que proporciona una ruta fácil hacia una representación vectorial de sus datos con la ventaja adicional de codificar relaciones en los vértices que vinculan los nodos del gráfico que almacenan sus datos.
Agregar gráficos a Azure AI con Neo4j
Las bases de datos de Graph como esta no deben confundirse con Microsoft Graph. Utiliza un modelo de nodo para consultas, pero no lo utiliza para inferir relaciones entre nodos. Las bases de datos Graph son una herramienta más compleja y, aunque se pueden consultar utilizando GraphQL, tienen un proceso de consulta mucho más complejo, utilizando herramientas como el motor de consulta Gremlin.
Una de las bases de datos de gráficos más conocidas es Neo4j, que recientemente anunció soporte para versión empresarial de su servicio alojado en la nube, Aura, en Azure. Disponible en el mercado de Azure, es una versión SaaS de la conocida herramienta local, que le permite comenzar con los datos sin tener que perder tiempo configurando su instalación. Hay dos versiones disponibles, con diferentes opciones de memoria basadas en la capacidad reservada para que no tenga que preocuparse de que las instancias no estén disponibles cuando las necesite. No es barato, pero simplifica el trabajo con grandes cantidades de datos, lo que ahorra mucho tiempo al trabajar con lagos de datos a gran escala en Fabric.
Construyendo gráficos de conocimiento a partir de sus datos
Una característica clave de Neo4J es el concepto de gráfico de conocimiento, que vincula información no estructurada en nodos en un gráfico estructurado. De esta manera, puede ver rápidamente las relaciones entre, por ejemplo, un manual de producto y toda la lista de materiales que incluye el producto. En lugar de señalar una sola pieza que necesita ser reemplazada para una reparación, tiene un gráfico de dependencia completo que muestra a qué afecta y qué es necesario para realizar la reparación.
Una herramienta como Neo4j que puede ubicarse sobre un lago de datos a gran escala como Fabric de Microsoft le brinda otra forma útil de crear fuentes de información para una aplicación RAG. Aquí, puede utilizar la herramienta de visualización de gráficos que viene como parte de Neo4j para explorar las complejidades de sus casas en el lago.generando los vínculos subyacentes entre sus datos y brindándole una visión más flexible y comprensible de sus datos.
Un aspecto importante de un gráfico de conocimiento es que no es necesario utilizarlo todo. Puede utilizar las relaciones gráficas para filtrar rápidamente información que no necesita para su aplicación. Esto reduce la complejidad y acelera las búsquedas. Al garantizar que los vectores y las indicaciones resultantes se limiten a un conjunto estricto de relaciones, se reducen los riesgos de resultados erróneos de su LLM.
Incluso existe la posibilidad de utilizar LLM para ayudar a generar esos gráficos de conocimiento. Las herramientas de resumen identifican entidades específicas dentro de la base de datos de gráficos y luego proporcionan los enlaces necesarios para definir las relaciones. Este enfoque le permite ampliar rápidamente los modelos de datos existentes a gráficos, haciéndolos más útiles como parte de una aplicación impulsada por IA. Al mismo tiempo, puede usar las API de Azure Open AI para agregar un conjunto de incrustaciones a sus datos con el fin de utilizar la búsqueda vectorial para explorar sus datos como parte de un flujo de trabajo estilo agente usando LangChain o Semantic Kernel.
Uso de gráficos en IA: GraphRAG
El beneficio real de utilizar una base de datos gráfica con un modelo de lenguaje grande viene con una variación del conocido enfoque RAG, GraphRAG. Desarrollado por Microsoft Research, GraphRAG utiliza gráficos de conocimiento para mejorar la base en datos privadosyendo más allá de las capacidades de un enfoque RAG estándar para utilizar el gráfico de conocimiento para vincular piezas de información relacionadas y generar respuestas complejas.
Un punto que hay que entender cuando se trabaja con grandes cantidades de datos privados mediante un LLM es el tamaño de la ventana de contexto. En la práctica, es demasiado costoso desde el punto de vista computacional utilizar la cantidad de tokens necesarios para entregar una gran cantidad de datos como parte de un mensaje. Necesita un enfoque RAG para sortear esta limitación, y GraphRAG va más allá y le permite ofrecer mucho más contexto en torno a su consulta.
La investigación original de GraphRAG utiliza una base de datos de noticias, que un RAG tradicional no logra analizar de manera efectiva. Sin embargo, con un gráfico de conocimiento, las entidades y relaciones son relativamente simples de extraer de las fuentes, lo que permite a la aplicación seleccionar y resumir noticias que contienen los términos de búsqueda, proporcionando al LLM mucho más contexto. Esto se debe a que la estructura de la base de datos de gráficos agrupa naturalmente entidades semánticas similares, al tiempo que proporciona un contexto más profundo en las relaciones codificadas en los vértices entre esos nodos.
En lugar de buscar términos similares, como ocurre con un motor de búsqueda tradicional, GraphRAG le permite extraer información de todo el conjunto de datos que está utilizando, ya sean transcripciones de llamadas de soporte o todos los documentos asociados con un proyecto específico.
Aunque la investigación inicial utiliza la automatización para construir y agrupar el gráfico de conocimiento, existe la oportunidad de usar Neo4j para trabajar con lagos de datos masivos en Microsoft Fabric, proporcionando una forma de visualizar esos datos para que los científicos de datos y los analistas de negocios puedan crear los suyos propios. clústeres, que pueden ayudar a producir aplicaciones GraphRAG impulsadas tanto por lo que es importante para su negocio como por los patrones subyacentes en los datos.
Tener una base de datos gráfica como Neo4j en Azure Marketplace le brinda una herramienta que lo ayuda a comprender y visualizar las relaciones en sus datos de una manera que admita tanto a humanos como a máquinas. Integrarlo con Fabric debería ayudar a crear aplicaciones LLM a gran escala, conscientes del contexto, permitiéndole obtener resultados fundamentados de sus datos de una manera que los enfoques RAG estándar pueden pasar por alto. Será interesante ver si Microsoft comienza a implementar GraphRAG en su propia herramienta Prompt Flow LLM.
Copyright © 2024 IDG Communications, Inc.