$ account run-llama
LlamaIndex is a comprehensive Python framework designed for building Large Language Model (LLM) applications, with a primary focus on Retrieval-Augmented Generation (RAG) and agentic workflows. It functions as a modular library rather than a monolithic application, providing abstractions for data ingestion, indexing, retrieval, and query orchestration. The architecture is split between a core package (`llama-index-core`) containing base interfaces and logic, and a vast ecosystem of integration packages (`llama-index-integrations`) that connect to external LLM providers, vector databases, and data sources. The codebase demonstrates a strong plugin-based design, allowing developers to swap components like embeddings, retrievers, and LLMs without rewriting the core orchestration logic.
NotebookLlaMa is a full-stack, open-source alternative to Google's NotebookLM, built on LlamaCloud and the LlamaIndex ecosystem. It provides a Streamlit-based web interface for uploading PDF documents, processing them through a multi-step workflow (parsing, extraction, summarization, Q&A generation, mind map creation), and optionally generating a podcast conversation using ElevenLabs TTS. The system uses an MCP server (FastMCP) to expose tools for document processing, mind map generation, and index querying, orchestrated by a LlamaIndex Workflow. Observability is handled via OpenTelemetry with traces exported to Jaeger and stored in PostgreSQL, with an export-to-Parquet capability. The codebase is well-structured, async-first, and includes comprehensive tests, a CLI setup wizard for embedding providers, and Docker Compose for infrastructure dependencies. It is actively maintained and demonstrates strong engineering practices.