LlamaIndex
LlamaIndex es un framework de código abierto que carga, indexa y recupera datos privados para LLM, y que permite crear pipelines RAG y agentes de documentos.
LlamaIndex es un marco de código abierto que conecta modelos de lenguaje grandes (LLM) con datos privados: carga documentos, bases de datos y API, indexa su contenido y recupera los pasajes que necesita un modelo para responder a una pregunta. La mayoría de las aplicaciones creadas con LlamaIndex utilizan generación aumentada por recuperación (RAG), por ejemplo, asistentes que responden a partir de manuales, contratos o tickets de una empresa, y agentes de IA que leen documentos y actúan sobre ellos. Jerry Liu publicó el proyecto como GPT Index en noviembre de 2022 y lo renombró LlamaIndex en febrero de 2023. El marco LlamaIndex está disponible en Python y TypeScript, y su empresa también ofrece LlamaParse, un servicio alojado que convierte PDF, tablas y diapositivas complejos en texto fácil de indexar.
Cómo funciona LlamaIndex#
Una aplicación de LlamaIndex tiene dos fases. La ingesta se ejecuta una vez por cada actualización de los datos: los conectores de LlamaHub cargan archivos y servicios como objetos Document, un analizador de nodos divide cada uno en fragmentos llamados nodos y un modelo de embeddings convierte cada nodo en un vector —su embedding— que se guarda en un índice. La consulta se ejecuta para cada pregunta: un recuperador encuentra los nodos más cercanos a la pregunta; los posprocesadores, como un reevaluador, los reordenan o filtran, y un sintetizador de respuestas coloca los resultados restantes en la ventana de contexto del LLM, con instrucciones para responder a partir de ellos.
El VectorStoreIndex es el predeterminado y almacena los embeddings en memoria o en una base de datos vectorial externa. Otros índices envían cada fragmento al modelo para resumirlo, construyen un grafo de conocimiento de entidades y relaciones para consultas de tipo GraphRAG, o buscan coincidencias de palabras clave. Un motor de consulta responde a una sola pregunta; un motor de chat mantiene una conversación; y Workflows, la capa de orquestación basada en eventos de LlamaIndex, conecta la recuperación, las herramientas y varios agentes en sistemas de RAG agéntica que deciden qué buscar y cuándo.
Indexar imágenes según su contenido#
La recuperación funciona con cualquier contenido que pueda expresarse como texto. Ejecutar Ultralytics YOLO26 sobre una colección de fotos convierte cada imagen en una descripción que se puede buscar: Results.verbose() devuelve el recuento por clase del resultado del modo predict como una cadena breve, que se convierte en un Document cuyos metadatos conservan la URL de la imagen. Después, un modelo de embeddings local de Hugging Face permite usar el índice sin una clave de API:
from llama_index.core import Document, Settings, VectorStoreIndex
from llama_index.embeddings.huggingface import HuggingFaceEmbedding
from ultralytics import YOLO
Settings.embed_model = HuggingFaceEmbedding(model_name="BAAI/bge-small-en-v1.5")
model = YOLO("yolo26n.pt")
# Describe each image by its detections; the URL stays in metadata and out of the embedding
docs = []
for url in ["https://ultralytics.com/images/bus.jpg", "https://ultralytics.com/images/zidane.jpg"]:
results = model(url)
text = f"A photo containing {results[0].verbose()}"
docs.append(Document(text=text, metadata={"image": url}, excluded_embed_metadata_keys=["image"]))
# Index the descriptions, then retrieve the image that best matches a question
index = VectorStoreIndex.from_documents(docs)
retriever = index.as_retriever(similarity_top_k=1)
nodes = retriever.retrieve("Which photo shows a bus?")
print(nodes[0].node.metadata["image"], round(nodes[0].score, 3))El recuperador devuelve la imagen del autobús junto con su puntuación de similitud del coseno, que se obtiene a partir de la descripción del detector y no del nombre del archivo. Al añadir un sintetizador de respuestas, se pueden responder en prosa preguntas sobre la colección: el patrón de los sistemas de RAG multimodal que combinan la visión artificial con la búsqueda en documentos.
LlamaIndex y herramientas relacionadas#
- LangChain: Marco general para aplicaciones y agentes LLM con una amplia variedad de integraciones. Ambos proyectos abarcan ahora la recuperación y los agentes; LlamaIndex ofrece más opciones de ingesta, análisis e índices, y los equipos suelen utilizar sus recuperadores dentro de agentes de LangChain o LangGraph.
- Bases de datos vectoriales: Almacenan vectores y realizan búsquedas vectoriales. LlamaIndex se sitúa por encima de ellas y decide cómo analizar, dividir en fragmentos, convertir en embeddings, recuperar y enviar los documentos al modelo. Además, admite decenas de almacenes vectoriales como sistemas de backend.
- Búsqueda semántica: El paso de recuperación por sí solo. LlamaIndex añade generación, de modo que los resultados llegan como una respuesta acompañada de los nodos de origen para citarlos.










