github letta-ai/letta 0.9.0
v0.9.0

latest releases: 0.16.1, 0.16.0, 0.15.1...
4 months ago

v0.9.0

Letta Filesystem

We are introducing a big revamp in how Letta handles uploaded documents like PDFs! Letta Filesystem allows you to create folders and files (uploaded documents) that contextualize your agent's responses -- think Claude Projects, but transparent and controllable.

# upload a file into the folder
job = client.folders.files.upload(
    folder_id=folder.id,
    file=open("my_file.txt", "rb")
)

# wait until the job is completed
while True:
    job = client.jobs.retrieve(job.id)
    if job.status == "completed":
        break
    elif job.status == "failed":
        raise ValueError(f"Job failed: {job.metadata}")
    print(f"Job status: {job.status}")
    time.sleep(1)

When documents are uploaded to Letta, they are represented in the context window as files in a folder, and can be "open" (in-context) or "closed" (hidden). The agent manages this automatically will tools, but you can also manually open/close files (add/remove to the context window).

Options for converting documents to markdown

There are two options for parsing files: the default markitdown packages, or Mistral's OCR endpoint. To use Mistral, you must set LETTA_MISTRAL_API_KEY. If you're using Letta Cloud, Mistral OCR will be enabled by default.

Memory blocks vs. filesystem vs. archival memory

Curious on when to use memory blocks vs. filesystem vs. archival memory? See our guidelines on how to manage a context hierarchy.

Don't miss a new letta release

NewReleases is sending notifications on new releases.