Letta FAQs

Can’t find the answer to your question? Feel free to reach out to the Letta development team and community on Discord or GitHub!

Letta Platform

Letta is for developers building stateful LLM applications that require advanced memory, such as:

  • personalized chatbots that require long-term memory and personas that should be updated (self-edited) over time (e.g. companions)
  • agents connected to external data sources, e.g. private enterprise deployments of ChatGPT-like applications (connected to your company’s data), or a medical assistant connected to a patient’s medical records
  • agents connected to custom tools, e.g. a chatbot that can answer questions about the latest news by searching the web
  • automated AI workflows, e.g. an agent that monitors your email inbox and sends you text alerts for urgent emails and a daily email summary

… and countless other use cases!

Yes, Letta is an open source project and you can run it locally on your own machine.

When you run Letta locally, you have the option to connect the agents server to external API providers (e.g. OpenAI, Anthropic) or connect to local or self-hosted LLM providers (e.g. Ollama or vLLM).

The open source Letta software is free to use and permissively licensed under the Apache 2.0 license. Letta Desktop is a free application that combines the Letta Server and ADE into a single application. Letta Cloud is a paid service and requires a Letta Cloud account to use.

Letta Cloud is a fully managed service that allows you to create and deploy Letta agents without running any infrastructure. If you’d like to build production applications using the Letta API, consider using Letta Cloud.

Agent Development Environment (ADE)

If you use Letta Desktop, the ADE runs inside of Letta Desktop locally on your machine.

If you are deploying Letta via Docker and want to use the ADE, you can connect the web ADE to your Docker deployment. To connect the ADE to your deployed Letta server, simply run your Letta server (if running locally, make sure you can access localhost:8283) and go to https://app.letta.com.

No, the data in your Letta server database stays on your machine. The ADE web application simply connects to your local Letta server (via the REST API) and provides a graphical interface on top of it to visualize your local Letta data in your browser’s local state. If you would like to run the ADE completely locally, you can use Letta Desktop instead.

The ADE is built on top of the (fully open source) Letta server and Letta Agents API. You can build your own application like the ADE on top of the REST API (view the documention here).

Self-hosted (local) Letta Server

When you run Letta with Docker, the Letta server uses a postgres database to store all your agents’ data. The postgres instance is bundled into the image, so to have persistent data (across restarts) you need to mount a volume to the container.

Our recommend docker run script includes -v ~/.letta/.persist/pgdata:/var/lib/postgresql/data as a flag. This mounts your local directory ~/.letta/.persist/pgdata to the container’s /var/lib/postgresql/data directory (so all your agent data is stored at ~/.letta/.persist/pgdata). If you would like to use a different directory, you can use -v <path_to_your_directory>:/var/lib/postgresql/data instead.

Postgres has a number of recommended ways to backup your data.

We recommend directly execing into your Docker container and running pg_dump from inside the container.

Alternatively, you can run docker run with an extra flag to expose the postgres port with -p 5432:5432 and then run pg_dump from your local machine.

No, you can install Letta using pip (via pip install -U letta), as well as from source (via poetry install).

Letta gives your agents persistence (they live indefinitely) by storing all your agent data in a database. Letta is designed to be used with a PostgreSQL (the world’s most popular database), however, it is not possible to install PostgreSQL via pip, so the pip install of Letta defaults to using SQLite. If you have a PostgreSQL instance running on your own computer, you can still connect Letta (installed via pip) to PostgreSQL by setting the environment variable LETTA_PG_URI.

Database migrations are not officially supported for Letta when using SQLite, so if you would like to ensure that you’re able to upgrade to the latest Letta version and migrate your Letta agents data, make sure that you’re using PostgreSQL as your Letta database backend. Full compatability table below:

Installation methodStart server commandDatabase backendData migrations supported?
pip install lettaletta serverSQLite
pip install lettaexport LETTA_PG_URI=... + letta serverPostgreSQL
Install Dockerdocker run ...PostgreSQL
Built with