motorhead  by getmetal

LLM memory server (deprecated) for chat applications

created 2 years ago
891 stars

Top 41.4% on sourcepulse

GitHubView on GitHub
1 Expert Loves This Project
Project Summary

Motorhead is a deprecated memory and information retrieval server designed to simplify state management for LLM-powered chat applications. It offers three core APIs for managing conversation history, enabling incremental summarization, and performing text-based retrieval using Vector Similarity Search (VSS).

How It Works

Motorhead stores conversation messages in sessions, automatically summarizing older messages to manage context window limits. When the message window reaches a configured maximum (MOTORHEAD_MAX_WINDOW_SIZE), it triggers a summarization process, reducing the token count and maintaining a concise history. For long-term memory, it leverages Redisearch VSS, allowing efficient retrieval of relevant information based on text queries, segmented by session ID.

Quick Start & Requirements

  • Install/Run: docker-compose build && docker-compose up or docker pull ghcr.io/getmetal/motorhead:latest and run.
  • Prerequisites: Redis instance (REDIS_URL environment variable required), OpenAI API key (OPENAI_API_KEY). Azure deployments require additional Azure-specific environment variables.
  • Configuration: MOTORHEAD_MAX_WINDOW_SIZE (default 12), MOTORHEAD_LONG_TERM_MEMORY (default false), MOTORHEAD_MODEL (default gpt-3.5-turbo), PORT (default 8000), OPENAI_API_BASE (default OpenAI v1).
  • Links: Chat JS Example, Vanilla JS Example, Hosted Example, Python Example

Highlighted Details

  • Provides APIs for GET, POST, and DELETE operations on session memory.
  • Supports incremental summarization of conversation history.
  • Integrates with Redisearch for long-term memory and VSS retrieval.
  • Configurable model for summarization (gpt-3.5-turbo or gpt-4 recommended).

Maintenance & Community

The project is marked as DEPRECATED and support is no longer maintained.

Licensing & Compatibility

The license is not specified in the README.

Limitations & Caveats

The project is explicitly marked as DEPRECATED, meaning it will not receive further updates or support, posing a significant risk for adoption. The README does not specify the license, which could impact commercial use or integration into closed-source projects.

Health Check
Last commit

1 week ago

Responsiveness

1 day

Pull Requests (30d)
2
Issues (30d)
0
Star History
20 stars in the last 90 days

Explore Similar Projects

Feedback? Help us improve.