paint-brush
¿Qué es LlamaIndex? Una exploración exhaustiva de los marcos de orquestación de LLMpor@datastax
1,439 lecturas
1,439 lecturas

¿Qué es LlamaIndex? Una exploración exhaustiva de los marcos de orquestación de LLM

por DataStax7m2023/11/08
Read on Terminal Reader

Demasiado Largo; Para Leer

En esta publicación, explicaremos cómo se puede utilizar LlamaIndex como marco para la integración, organización y recuperación de datos para todas sus necesidades de IA generativa de datos privados.
featured image - ¿Qué es LlamaIndex? Una exploración exhaustiva de los marcos de orquestación de LLM
DataStax HackerNoon profile picture

Con la rápida integración de la IA generativa en el proceso de desarrollo de aplicaciones, vemos una necesidad cada vez mayor de poder integrar nuestros datos privados con los datos públicos que se utilizan para entrenar. grandes modelos de lenguaje (LLM). El desafío que esto presenta es que la mayoría de los datos privados no están estructurados, están aislados y no están en un formato al que los LLM puedan acceder fácilmente.


En un seminario web reciente sobre Grandes modelos de lenguaje para la empresa , exploramos cómo se pueden utilizar los LLM para aplicaciones más allá de ChatGPT y cómo se deben utilizar los datos privados para aumentar los datos públicos en los que se capacitan los LLM generalmente disponibles. Aquí es donde entran en juego soluciones como LlamaIndex, ya que proporcionan un marco de orquestación para crear aplicaciones LLM utilizando herramientas integradas para ingerir y consultar datos privados.


En esta publicación, explicaremos cómo se puede utilizar LlamaIndex como marco para la integración, organización y recuperación de datos para todas sus necesidades de IA generativa de datos privados.


¿Qué es LlamaIndex?

Como se indicó anteriormente, LlamaIndex es un marco de orquestación o "marco de datos" que simplifica la creación de aplicaciones LLM. Proporciona la capacidad de realizar un aumento de datos privados, lo que permite incorporarlos a los LLM para la generación de conocimientos y el razonamiento. En el centro de toda la funcionalidad de la IA generativa se encuentran los datos. Las aplicaciones empresariales deben poder acceder a algo más que los datos públicos en los que están capacitados los LLM y deben incorporar datos estructurados, no estructurados y semiestructurados de todas sus fuentes de datos internas y externas para crear aplicaciones.


Es esta integración de datos la que proporciona LlamaIndex. Incorporar datos de múltiples fuentes únicas. incrustar esos datos como vectores. Almacenar esos datos recién vectorizados en una base de datos vectorial. En última instancia, permitir que las aplicaciones utilicen esos datos para realizar operaciones complejas con tiempos de respuesta de baja latencia, como la búsqueda de vectores.


Beneficios

  • Ingestión de datos simplificada que conecta fuentes de datos existentes como API, PDF, SQL, NoSQL, documentos, etc. para usar con aplicaciones LLM.
  • Almacene e indexe de forma nativa datos privados para su uso en diferentes casos de uso de aplicaciones, con integración nativa con bases de datos vectoriales/almacenamiento de vectores posteriores.
  • Interfaz de consulta incorporada, que brinda la capacidad de devolver respuestas con conocimiento aumentado a partir de solicitudes de entrada de sus datos.


Casos de uso

  • Creación de chatbots en lenguaje natural que brinden interacción en tiempo real con la documentación de su producto para lograr una interacción natural con el cliente.
  • Construir agentes de conocimiento cognitivamente conscientes que puedan responder a árboles de decisión cambiantes basados en una base de conocimiento en constante crecimiento.
  • Interactúe con grandes volúmenes de datos estructurados utilizando lenguaje natural e interacción humana.
  • Aumente los datos públicos con un corpus de conocimiento privado que proporcione participación específica de la aplicación.


¿Cómo funciona LlamaIndex?

LlamaIndex, anteriormente conocido como GPT Index, es un marco que proporciona las herramientas necesarias para gestionar el ciclo de vida de un extremo a otro para crear aplicaciones basadas en LLM. El desafío de crear aplicaciones basadas en LLM es que necesitan datos, generalmente de múltiples fuentes diferentes, y, a menos que exista una fuerte adherencia a una representación de datos común, los datos requeridos están en muchos formatos diferentes, algunos altamente estructurados, otros no estructurados y otros en formato LLM. entre.


Ahí es donde LlamaIndex proporciona la caja de herramientas para desbloquear estos datos con herramientas para la ingesta e indexación de datos. Una vez ingerido e indexado, recuperación de generación aumentada (RAG) las aplicaciones pueden usar la interfaz de consulta LlamaIndex para acceder a esos datos y potenciar los LLM.


Ingestión

LlamaIndex tiene cientos de cargadores de datos que brindan la capacidad de conectar fuentes de datos personalizadas a LLM. Conecta soluciones prediseñadas como Airtable, Jira, Salesforce y más con complementos genéricos para cargar datos desde archivos, documentos JSON, csv simples y datos no estructurados.

Puede encontrar una lista completa de cargadores de datos en Centro de llamas .


Indexación

Una vez que se ingieren los datos, es necesario representarlos matemáticamente para que un LLM pueda consultarlos fácilmente. Con LlamaIndex, un índice simplemente proporciona la capacidad de representar datos matemáticamente en múltiples dimensiones diferentes. La indexación de datos no es un concepto nuevo. Sin embargo, con el aprendizaje automático, podemos ampliar la granularidad de la indexación de una o dos dimensiones (representación clave/valor, por ejemplo) a cientos o miles de dimensiones.


El enfoque más común para indexar datos para aprendizaje automático y LLM se denomina índice vectorial; Una vez que se han indexado los datos, la representación matemática de los datos se denomina incrustación de vectores. Hay muchos tipos de modelos de indexación e incrustación, pero una vez que los datos se han incrustado, la representación matemática de los datos se puede utilizar para proporcionar una búsqueda semántica, ya que cosas como texto con significados similares tendrán una representación matemática similar. Por ejemplo, el rey y la reina pueden estar muy relacionados si la consulta es realeza, pero no muy relacionados si la consulta es género.


Consultando

Aquí es donde entra en juego parte del poder real de LlamaIndex y LLM. Debido a que consultar datos usando LlamaIndex no es una serie compleja de comandos para fusionar/unir y encontrar los datos, se representa como lenguaje natural a través de un concepto llamado pronta ingeniería . La forma más sencilla de ver la interacción con sus datos una vez que los ha ingerido e indexado es que la consulta se convierta en un proceso de hacer preguntas y obtener respuestas.


¿Cuáles son los diferentes índices en LlamaIndex?

LlamaIndex ofrece varios modelos de indexación diferentes que están diseñados para proporcionar optimizaciones sobre cómo desea explorar y categorizar sus datos. En última instancia, aquí es donde se pueden lograr muchos beneficios. Si conoce el tipo de operación que su aplicación necesita realizar en los datos, aprovechar un tipo específico de índice puede proporcionar un beneficio significativo a la aplicación que utiliza el LLM y crea una instancia de la consulta.


índice de lista

Un índice de lista es un enfoque que desglosa los datos y los representa en forma de una lista secuencial. La ventaja que esto tiene es que, si bien los datos se pueden explorar de manera multidimensional, la optimización principal para consultar los datos se realiza mediante un patrón secuencial. Este tipo de índice funciona bien con objetos estructurados que ocurren a lo largo del tiempo, por ejemplo, registros de cambios en los que desea consultar cómo han cambiado las cosas a lo largo del tiempo.


índice de árbol

Cuando se utiliza un índice de árbol, LlamaIndex toma los datos de entrada y los organiza en una estructura de árbol binario donde los datos se organizan como nodos padre y hoja. Un índice de árbol brinda la capacidad de recorrer grandes cantidades de datos y construir respuestas donde necesita extraer segmentos específicos de los textos en función de cómo la búsqueda atraviesa el árbol. La indexación de árbol funciona mejor en los casos en los que tiene un patrón de información que desea seguir o validar, como crear un chatbot de procesamiento de lenguaje natural sobre un motor de soporte/preguntas frecuentes.


Índice de tienda de vectores

Cuando se utiliza el tipo de índice de almacén de vectores, LlamaIndex almacena notas de datos como incrustaciones de vectores. Este es probablemente el tipo de indexación más común, ya que brinda la capacidad de utilizar la representación de los datos de múltiples maneras diferentes, incluida la búsqueda vectorial o por similitud. Cuando los datos se indexan con un índice de almacenamiento vectorial, se pueden aprovechar localmente para conjuntos de datos más pequeños y mediante una sola aplicación o para conjuntos de datos más grandes y/o para usarse en múltiples LLM/aplicaciones diferentes, se pueden almacenar en una base de datos vectorial de alto rendimiento. como AstraDB .


Índice de palabras clave

La indexación de palabras clave es más bien un enfoque tradicional de asignar una etiqueta de metadatos, es decir, una palabra clave a nodos específicos que contienen esas palabras clave. Esta asignación crea una red de relaciones basadas en palabras clave, porque una palabra clave puede asignarse a varios nodos diferentes y un nodo puede asignarse a varias palabras clave diferentes. Este modelo de indexación funciona bien si busca etiquetar grandes volúmenes de datos y consultarlos en función de palabras clave específicas que se pueden consultar en varios conjuntos de datos diferentes. Por ejemplo, informes legales, registros médicos o cualquier otro dato que deba alinearse en función de tipos específicos de metadatos.


LlamaIndex versus LangChain: comparaciones clave

Una de las grandes preguntas que surgen es ¿cómo se comparan LlamaIndex y LangChain? ¿Ofrecen funcionalidades similares o se complementan entre sí? La realidad es que LlamaIndex y LangChain ofrecen dos caras de la misma moneda. Si bien ambos están diseñados para proporcionar una interfaz para los LLM y el aprendizaje automático en su aplicación, LlamaIndex está diseñado y creado específicamente para proporcionar capacidades de indexación y consulta para la búsqueda inteligente de datos. En la otra cara de esa moneda está la capacidad de interactuar con datos ya sea a través del procesamiento del lenguaje natural, es decir, crear un chatbot para interactuar con sus datos, o usar esos datos para impulsar otras funciones como llamar a código.


LlamaIndex brinda la capacidad de almacenar los datos que tiene en una variedad de formatos diferentes y extraerlos de un montón de fuentes diferentes, lo que en última instancia proporciona el cómo para su aplicación de IA generativa.


LangChain brinda la capacidad de hacer algo con esos datos una vez que se han almacenado, generar código, proporcionar respuestas a preguntas generativas e impulsar decisiones, proporcionando en última instancia el qué para su aplicación de IA generativa.


¿Qué proyectos puedes construir con LlamaIndex?

Con LlamaIndex, tiene un marco de orquestación y datos fácil de usar para ingerir, indexar y consultar sus datos para crear aplicaciones de IA generativa. Si bien proporcionamos un ejemplo simple para comenzar, el verdadero poder de LlamaIndex proviene de la capacidad de crear aplicaciones de inteligencia artificial basadas en datos. No necesita volver a entrenar los modelos, puede usar LlamaIndex y una base de datos vectorial altamente escalable para crear motores de consulta personalizados, chatbots conversacionales o agentes potentes que pueden interactuar con la resolución de problemas complejos interpretando dinámicamente los datos que ingresan y convirtiéndolos en contextuales. decisiones en tiempo real.


Cree aplicaciones de IA generativa en tiempo real con búsqueda vectorial en Astra DB

Entonces, cuando llega el momento de crear una aplicación de IA generativa que requiere la capacidad de aprovechar sus datos privados e incorporarlos a la capacidad de una aplicación para interactuar y responder a esos datos, LlamaIndex es un excelente lugar para comenzar a ingerir, indexar y realizar consultas. Pero no repita los errores del pasado y aísle los datos que está utilizando, incorporando y a los que accede para aplicaciones de IA. Desarrolle una solución completa de extremo a extremo que incluya el almacenamiento de esas incrustaciones e índices en un almacén de vectores altamente escalable como Astra DB.



Para comenzar con LlamaIndex y ver cómo DataStax y LlamaIndex funcionan mejor juntos, consulte la publicación reciente del blog de DataStax, " Crear aplicaciones GenAI a escala de petabytes ahora es más fácil. "

Puede encontrar más información sobre cómo configurar e implementar Astra DB en uno de los almacenes de vectores de mayor rendimiento del mundo construido en Apache Cassandra, que fue diseñado para manejar volúmenes masivos de datos a escala. Para empezar gratis, registrar aquí .


- Por Bill McLane, DataStax


También publicado aquí.