Skip to main content

Thread memory for AI agents

Project description


threadmem

Chat thread memory for AI agents
Explore the docs »

View Demo · Report Bug · Request Feature


ThreadMem is a simple tool that helps manage chat conversations with language models.

Installation

pip install threadmem

Usage

Role Threads

Role based threads are useful for managing openai-style chat schemas.

from threadmem import RoleThread

# Create a thread storing it in a local sqlite db
thread = RoleThread(owner_id="dolores@agentsea.ai")

# Post messages
thread.post("user", "Hello, Thread!")
thread.post("assistant", "How can I help?")
thread.post("user", "Whats this image?", images=["data:image/jpeg;base64,..."])

# Output in openai chat schema format
print(thread.to_oai())

# Find a thread
threads = RoleThread.find(owner_id="dolores@agentsea.ai")

# Delete a thread
threads[0].delete()

Add images of any variety to the thread. We support base64, filepath, PIL, and URL:

from PIL import Image

img1 = Image.open("img1.png")

thread.post(
  role="user",
  msg="Whats this image?",
  images=["data:image/jpeg;base64,...", "./img1.png", img1, "https://shorturl.at/rVyAS"]
)

Integrations

Threadmem is integrated into:

  • MLLM - A prompt management, routing, and schema validation library for multimodal LLMs.
  • Taskara - A task management library for AI agents.
  • Skillpacks - A library to fine tune AI agents on tasks.
  • SurfKit - A platform for AI agents.

Community

Come join us on Discord.

Backends

Thread and prompt storage can be backed by:

  • Sqlite
  • Postgresql

Sqlite will be used by default. To use postgres simply configure the env vars:

DB_TYPE=postgres
DB_NAME=threads
DB_HOST=localhost
DB_USER=postgres
DB_PASS=abc123

Image storage by default will utilize the db, to configure bucket storage using GCS:

  • Create a bucket with fine grained permissions
  • Create a GCP service account JSON with permissions to write to the bucket
export THREAD_STORAGE_SA_JSON='{
  "type": "service_account",
  ...
}'
export THREAD_STORAGE_BUCKET=my-bucket

Develop

To test

make test

To publish

make publish

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

threadmem-0.2.34.tar.gz (24.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

threadmem-0.2.34-py3-none-any.whl (27.5 kB view details)

Uploaded Python 3

File details

Details for the file threadmem-0.2.34.tar.gz.

File metadata

  • Download URL: threadmem-0.2.34.tar.gz
  • Upload date:
  • Size: 24.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.12.7 Darwin/23.4.0

File hashes

Hashes for threadmem-0.2.34.tar.gz
Algorithm Hash digest
SHA256 098a3b72d415a0b2ccc0fa38cd05e68d06c01577749863c2a40f467219db2bc6
MD5 303c8eec75452dac58a3cae4198f27e1
BLAKE2b-256 3c181c01d3e441d384e7491ca6e56b88220270b557a21328c3ac198edc63addd

See more details on using hashes here.

File details

Details for the file threadmem-0.2.34-py3-none-any.whl.

File metadata

  • Download URL: threadmem-0.2.34-py3-none-any.whl
  • Upload date:
  • Size: 27.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.12.7 Darwin/23.4.0

File hashes

Hashes for threadmem-0.2.34-py3-none-any.whl
Algorithm Hash digest
SHA256 6d7c8e2ecfe1f56a95f6a4ff0daf1ac25fddb5cdf30942f76fd28b53d8d162b2
MD5 2111ea48af18a7a55a517c4d0d72783d
BLAKE2b-256 1193a996df04cebd2cc1f5b6a5bc8c127642bbe7eef4e26b5ed780ccbaccee65

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page