Allgemeine Einführung
Memary ist ein innovatives Open-Source-Projekt, das sich auf die Bereitstellung von Langzeitspeicherverwaltungslösungen für autonome Intelligenzen konzentriert. Das Projekt hilft Intelligenzen, die Beschränkungen traditioneller Kontextfenster zu durchbrechen, um eine intelligentere Interaktionserfahrung durch Wissensgraphen und spezialisierte Speichermodule zu erreichen.Memary verwendet einen automatischen Mechanismus zur Speichergenerierung, um Erinnerungen während der Interaktionen der Intelligenz automatisch zu aktualisieren, und zeigt diese Erinnerungen über ein einheitliches Dashboard an. Das System unterstützt mehrere Modellkonfigurationen, darunter lokal ausgeführte Llama- und LLaVA-Modelle sowie GPT-Modelle in der Cloud. Darüber hinaus bietet Memary Unterstützung für mehrere Graphen, so dass Entwickler unabhängige Instanzen von Intelligenzen für verschiedene Benutzer erstellen können, was eine personalisierte Speicherverwaltung ermöglicht.
Funktionsliste
- Automatisierte Speichererstellung und -aktualisierung
- Speicherung und Abruf von Wissensgraphen
- Entitäten und Zeitstempel der Speicherstromverfolgung
- Häufigkeit und Pünktlichkeit der Verwaltung des Entity Knowledge Store (EKS)
- Rekursive Retrieval-Methoden zur Optimierung der Wissensgraphen-Suche
- Multi-Hop-Reasoning unterstützt die Verarbeitung komplexer Anfragen
- Unterstützung für benutzerdefinierte Werkzeugerweiterungen
- Multi-Intelligence Body Mapping Management
- Speicherkomprimierung und Optimierung des Kontextfensters
- Extraktion von Themen und Klassifizierung von Entitäten
- Funktion der Zeitleistenanalyse
Hilfe verwenden
1. die Konfiguration der Installation
1.1 Grundlegende Anforderungen
- Erforderliche Python-Version: <= 3.11.9
- Es wird empfohlen, eine virtuelle Umgebung für die Installation zu verwenden.
1.2 Einbauverfahren
a) Installieren Sie mit pip.
pip installiere memary
b) Lokale Installation.
- Erstellen und Aktivieren einer virtuellen Umgebung
- Abhängigkeiten bei der Installation.
pip install -r anforderungen.txt
1.3 Konfiguration des Modells
Memary unterstützt zwei Betriebsmodi:
- Lokaler Modus (Standard): verwenden Ollama Betriebsmodell
- LLM: Llama 3 8B/40B (empfohlen)
- Visuelles Modell: LLaVA (empfohlen)
- Cloud-Modus:
- LLM: gpt-3.5-turbo
- Sichtmodell: gpt-4-vision-preview
2. die Vorbereitung der Umwelt
2.1 Konfigurieren der .env-Datei
OPENAI_API_KEY="IHR_API_KEY"
PERPLEXITY_API_KEY="IHR_API_SCHLÜSSEL"
GOOGLEMAPS_API_KEY="IHR_API_KEY"
ALPHA_VANTAGE_API_KEY="IHR_API_KEY"
#-Datenbankkonfiguration (entweder die eine oder die andere):
FALKORDB_URL="falkor://[[username]:[password]]@[falkor_host_url]:port"
oder
NEO4J_PW="YOUR_NEO4J_PW"
NEO4J_URL="YOUR_NEO4J_URL"
2.2 Benutzerkonfiguration aktualisieren
- Compiler
streamlit_app/data/user_persona.txt
Einstellung der Benutzereigenschaften - Optional: Ändern
streamlit_app/data/system_persona.txt
Anpassung der Systemeigenschaften
3. grundlegende Verwendung
3.1 Starten der Anwendung
cd streamlit_app
streamlit app.py ausführen
3.2 Code-Beispiele
from memary.agent.chat_agent import ChatAgent
# Initialisierung eines ChatAgenten
chat_agent = ChatAgent(
"Persönlicher Agent",
memory_stream_json,
entity_knowledge_store_json,
system_persona_txt,
system_persona_txt, user_persona_txt,
past_chat_json.
)
# Hinzufügen eines benutzerdefinierten Werkzeugs
def multiply(a: int, b: int) -> int.
"""Multiplikationsberechnungswerkzeug""""
return a * b
chat_agent.add_tool({"multiplizieren": multiply})
# Entfernen des Werkzeugs
chat_agent.remove_tool("multiplizieren")
4. eine Multi-Intelligenz-Konfiguration
Gilt für die Verwendung der FalkorDB-Datenbank:
# Persönliche Intelligenz von Benutzer A
chat_agent_benutzer_a = ChatAgent(
"Persönlicher Agent",
memory_stream_json_user_a,
entity_knowledge_store_json_user_a,
system_persona_txt_user_a,
benutzer_persona_txt_benutzer_a,
past_chat_json_user_a,
user_id='user_a_id'
)
# Persönliche Intelligenz für Benutzer B
chat_agent_benutzer_b = ChatAgent(
"Persönlicher Agent",
memory_stream_json_user_b,
entity_knowledge_store_json_user_b,
system_persona_txt_benutzer_b,
benutzer_persona_txt_benutzer_b,
past_chat_json_user_b,
user_id='user_b_id'
)
5. die Funktionen der Speicherverwaltung
5.1 Speicherstrom
- Automatisches Erfassen aller Entitäten und ihrer Zeitstempel
- Unterstützung für die Zeitleistenanalyse
- Themenextraktionsfunktion
5.2 Wissensspeicher für Entitäten
- Verfolgung der Häufigkeit und Aktualität von Vorladungen von Unternehmen
- Ranking der Relevanz von Entitäten
- Funktion zur Klassifizierung von Entitäten
- Zeitvariable Analysen
5.3 Funktionen der Wissensbilanzierung
- Optimierung der rekursiven Suche
- Unterstützung von Multi-Hop-Reasoning
- Automatischer Aktualisierungsmechanismus