Skip to main content

Architecture

This page provides an overview of the LlamaCloud architecture.

Overview​

info

Self-hosted LlamaCloud is an Enterprise-only feature, designed specifically to meet the needs of organizations that require a high degree of control over their data and infrastructure. Please contact us at support@runllama.ai if you're interested in learning more about self-hosting.

The following diagram shows the architecture of LlamaCloud:

LlamaCloud Architecture

Databases, Queues, and File Stores​

note

Containerized deployments of the required databases and queues are enabled by default in self-hosted deployments. This is only to help you get started. For production deployments, we recommend connecting LlamaCloud to externally managed services. For more information, please refer to the installation guide.

  • Postgres: LlamaCloud uses Postgres as its primary, relational database for almost everything.
  • MongoDB: LlamaCloud uses MongoDB as its secondary, document database for storing data around document ingestion and pipelines.
  • Redis: LlamaCloud uses Redis as its primary, in-memory key-value store for queuing and caching operations.
  • RabbitMQ: LlamaCloud uses RabbitMQ as its message queue. We leverage a series of queues to manage large-scale data processing jobs.
  • S3Proxy: To support non-S3 object storage options, we allow users to deploy s3proxy, an S3-compatible proxy, to interact with other storage solutions.

Internal Services​

LlamaCloud Frontend​

The frontend is the main user interface for LlamaCloud. We recommend exposing it through a reverse proxy like Nginx or Traefik for users to connect to in production.

LlamaCloud Backend​

This is the API entrypoint for LlamaCloud. It handles all requests from the frontend and the business logic of our platform. This service can also be used as a standalone API.

LlamaCloud Jobs Service​

The jobs service is responsible for managing job processing and ingestion pipelines.

LlamaCloud Jobs Worker​

The jobs worker works with the jobs service to process and ingest data.

LlamaCloud Usage Service​

This service tracks all parsing and ingestion usage across projects, indexes, and organizations.

LlamaParse Service​

LlamaParse is the engine that powers LlamaCloud's unstructured document parsing. It supports a variety of file formats, parsing modes, and output formats. For more information, please refer to the LlamaParse documentation.

LlamaParse OCR Service​

This service works hand-in-hand with LlamaParse to increase the accuracy of our document parsing.