Open-Source SQL-basierte Memory-Engine für LLMs, KI-Agenten und Multi-Agenten-Systeme. Ermöglicht persistentes, abfragbares KI-Gedächtnis mit einer einzigen Codezeile.

NOASSERTIONPythonMemoriGibsonAI 8.5k Last Updated: November 24, 2025

Memori - Detaillierte Vorstellung der Open-Source KI-Speicher-Engine

Projektübersicht

Memori ist eine Open-Source, SQL-native Speicher-Engine, die speziell für große Sprachmodelle (LLM), KI-Agenten und Multi-Agenten-Systeme entwickelt wurde. Sie ermöglicht jedem LLM mit einer einzigen Codezeile eine persistente, abfragbare Speicherfähigkeit, wobei die Speicherdaten in einer Standard-SQL-Datenbank gespeichert werden.

Kernmerkmale:

  • Integration mit memori.enable() in einer einzigen Codezeile
  • Speicherdaten werden in einer Standard-SQL-Datenbank (SQLite, PostgreSQL, MySQL) gespeichert, wobei der Benutzer die volle Eigentümerschaft und Kontrolle behält
  • KI kann sich an Gespräche erinnern, aus Interaktionen lernen und den Kontext über mehrere Sitzungen hinweg beibehalten

Warum Memori wählen?

1. Integration mit einer Codezeile

Unterstützt OpenAI, Anthropic, LiteLLM, LangChain und jedes LLM-Framework; die Integration ist extrem einfach.

2. SQL-native Speicherung

  • Portierbare, abfragbare, auditierbare Speicherdaten
  • Gespeichert in Ihrer vollständig kontrollierten Datenbank
  • Keine komplexen Vektordatenbanken erforderlich

3. Kostenersparnis von 80-90%

Keine teuren Vektordatenbanken erforderlich, was die Betriebskosten erheblich senkt.

4. Keine Anbieterbindung

Sie können den Speicher im SQLite-Format exportieren und jederzeit an einen beliebigen Ort migrieren.

5. Intelligentes Speichermanagement

  • Automatische Entitätsextraktion
  • Beziehungszuordnung
  • Kontextpriorisierung

Schnellstart

Installation

pip install memorisdk

Grundlegende Verwendung

from memori import Memori
from openai import OpenAI

# Initialisierung
memori = Memori(conscious_ingest=True)
memori.enable()
client = OpenAI()

# Erstes Gespräch
response = client.chat.completions.create(
    model="gpt-4o-mini",
    messages=[{"role": "user", "content": "I'm building a FastAPI project"}]
)

# Nachfolgendes Gespräch - Memori stellt automatisch den Kontext bereit
response = client.chat.completions.create(
    model="gpt-4o-mini",
    messages=[{"role": "user", "content": "Help me add authentication"}]
)
# Das LLM wird automatisch Informationen über Ihr FastAPI-Projekt kennen

Unterstützte Datenbanken

Memori unterstützt jede Standard-SQL-Datenbank:

Datenbank Verbindungszeichenfolge Beispiel
SQLite sqlite:///my_memory.db
PostgreSQL postgresql://user:pass@localhost/memori
MySQL mysql://user:pass@localhost/memori
Neon postgresql://user:pass@ep-*.neon.tech/memori
Supabase postgresql://postgres:pass@db.*.supabase.co/postgres

Unterstützte LLM-Frameworks

Durch das native Callback-System von LiteLLM unterstützt Memori alle gängigen Frameworks:

Framework Status Verwendung
OpenAI ✓ Native Unterstützung from openai import OpenAI
Anthropic ✓ Native Unterstützung from anthropic import Anthropic
LiteLLM ✓ Native Unterstützung from litellm import completion
LangChain ✓ Unterstützt Integration über LiteLLM
Azure OpenAI ✓ Unterstützt Konfiguration mit ProviderConfig.from_azure()
100+ Modelle ✓ Unterstützt Jeder LiteLLM-kompatible Anbieter

Konfigurationsoptionen

Datenbankkonfiguration

from memori import Memori

memori = Memori(
    database_connect="postgresql://user:pass@localhost/memori",
    conscious_ingest=True,  # Kurzzeit-Arbeitsspeicher
    auto_ingest=True,       # Dynamische Suche bei jeder Abfrage
    openai_api_key="sk-..."
)
memori.enable()

Speichermodi

Conscious-Modus - Einmalige Arbeitsspeicher-Injektion

memori = Memori(conscious_ingest=True)

Auto-Modus - Dynamische Suche bei jeder Abfrage

memori = Memori(auto_ingest=True)

Kombinierter Modus - Beides

memori = Memori(conscious_ingest=True, auto_ingest=True)

Umgebungsvariablen-Konfiguration

from memori import Memori, ConfigManager

config = ConfigManager()
config.auto_load()  # Lädt aus Umgebungsvariablen oder Konfigurationsdatei
memori = Memori()
memori.enable()

Umgebungsvariablen setzen:

export MEMORI_DATABASE__CONNECTION_STRING="postgresql://..."
export MEMORI_AGENTS__OPENAI_API_KEY="sk-..."
export MEMORI_MEMORY__NAMESPACE="production"

Funktionsweise

Memori funktioniert, indem es LLM-Aufrufe abfängt – vor dem Aufruf Kontext injiziert und nach dem Aufruf Informationen protokolliert:

Vor dem Aufruf (Kontextinjektion)

  1. Ihre Anwendung ruft client.chat.completions.create(messages=[...]) auf
  2. Memori fängt diesen Aufruf transparent ab
  3. Der Retrieval Agent (Auto-Modus) oder Conscious Agent (Conscious-Modus) ruft relevante Erinnerungen ab
  4. Der Kontext wird in die Nachrichten injiziert, bevor sie an den LLM-Anbieter gesendet werden

Nach dem Aufruf (Protokollierung)

  1. Der LLM-Anbieter gibt eine Antwort zurück
  2. Der Memory Agent extrahiert Entitäten, klassifiziert (Fakten, Präferenzen, Fähigkeiten, Regeln, Kontext)
  3. Das Gespräch wird in der SQL-Datenbank mit einem Volltextsuchindex gespeichert
  4. Die ursprüngliche Antwort wird an Ihre Anwendung zurückgegeben

Hintergrundverarbeitung (alle 6 Stunden)

  • Der Conscious Agent analysiert Muster und hebt wichtige Erinnerungen vom Langzeit- in den Kurzzeitspeicher

Anwendungsbeispiele

Grundlegende Beispiele

  • Grundlegende Verwendung - Einfache Speichereinrichtung
  • Persönlicher Assistent - KI-Assistent mit Gedächtnis
  • Speicherabruf - Funktionsaufruf
  • Erweiterte Konfiguration - Produktionseinstellungen

Mehrbenutzer-Szenarien

  • Einfacher Mehrbenutzer - Benutzer-Speicherisolierung
  • FastAPI-Mehrbenutzeranwendung - REST-API mit Swagger

Framework-Integrationsbeispiele

Memori bietet Integrationsbeispiele mit mehreren beliebten KI-Frameworks:

  • Agno
  • AWS Strands
  • Azure AI Foundry
  • AutoGen
  • CamelAI
  • CrewAI
  • Digital Ocean AI
  • LangChain
  • OpenAI Agent
  • Swarms

Online-Demos

  • Persönlicher Tagebuch-Assistent - Online-Streamlit-Anwendung zum Ausprobieren
  • Forschungsassistent-Agent - Online-Forschungstool zum Ausprobieren

Technische Architektur

Memori verwendet ein geschichtetes Architekturdesign:

  1. Abfangschicht - Transparentes Abfangen von LLM-API-Aufrufen
  2. Abrufschicht - Intelligenter Abruf relevanter Speicherkontexte
  3. Speicherschicht - Persistente Speicherung in SQL-Datenbanken
  4. Analyseschicht - Hintergrundanalyse und Speicheroptimierung

Detaillierte Architekturdokumentation finden Sie in der offiziellen Dokumentation unter architecture.md.

Enterprise Edition (Memori v3)

Memori öffnet eine kleine private Testgruppe für die v3-Version. Wenn Sie mehr erfahren und frühzeitig Zugang zur neuen Speicherarchitektur für Unternehmens-KI erhalten möchten, können Sie ihrem Testprogramm beitreten.

Community und Support

Leitfaden für Beiträge

Memori begrüßt Beiträge aus der Community! Das Projekt bietet detaillierte Richtlinien für Beiträge, einschließlich:

  • Einrichtung der Entwicklungsumgebung
  • Codestil und -standards
  • Einreichen von Pull Requests
  • Melden von Problemen

Open-Source-Lizenz

Apache 2.0 Lizenz

Zusammenfassung

Memori ist eine leistungsstarke und benutzerfreundliche KI-Speicherlösung, die besonders geeignet ist für:

  • Entwickler, die ihren LLM-Anwendungen Speicherfunktionen hinzufügen müssen
  • Teams, die Multi-Sitzungs-KI-Assistenten entwickeln
  • Projekte, die die Kosten für Vektordatenbanken senken müssen
  • Unternehmen, die die volle Kontrolle über ihre KI-Speicherdaten wünschen

Durch das SQL-native Speicherkonzept und die Integration mit einer Codezeile senkt Memori die Hürde und die Kosten für das Hinzufügen von Speicherfunktionen zu KI-Anwendungen erheblich.

Star History Chart