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.
Memary Gesamtarchitektur
Memary Agent
Memary Knowledge Graphs
Speicher-Module
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 install memary
b) Lokale Installation.
- Erstellen und Aktivieren einer virtuellen Umgebung
- Abhängigkeiten bei der Installation.
pip install -r requirements.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
- Bildverarbeitungsmodell: gpt-4-vision-preview
2. die Vorbereitung der Umwelt
2.1 Konfigurieren der .env-Datei
OPENAI_API_KEY="YOUR_API_KEY"
PERPLEXITY_API_KEY="YOUR_API_KEY"
GOOGLEMAPS_API_KEY="YOUR_API_KEY"
ALPHA_VANTAGE_API_KEY="YOUR_API_KEY"
# 数据库配置(二选一):
FALKORDB_URL="falkor://[[username]:[password]]@[falkor_host_url]:port"
或
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 run app.py
3.2 Code-Beispiele
from memary.agent.chat_agent import ChatAgent
# 初始化聊天智能体
chat_agent = ChatAgent(
"Personal Agent",
memory_stream_json,
entity_knowledge_store_json,
system_persona_txt,
user_persona_txt,
past_chat_json,
)
# 添加自定义工具
def multiply(a: int, b: int) -> int:
"""乘法计算工具"""
return a * b
chat_agent.add_tool({"multiply": multiply})
# 移除工具
chat_agent.remove_tool("multiply")
4. eine Multi-Intelligenz-Konfiguration
Gilt für die Verwendung der FalkorDB-Datenbank:
# 用户 A 的个人智能体
chat_agent_user_a = ChatAgent(
"Personal Agent",
memory_stream_json_user_a,
entity_knowledge_store_json_user_a,
system_persona_txt_user_a,
user_persona_txt_user_a,
past_chat_json_user_a,
user_id='user_a_id'
)
# 用户 B 的个人智能体
chat_agent_user_b = ChatAgent(
"Personal Agent",
memory_stream_json_user_b,
entity_knowledge_store_json_user_b,
system_persona_txt_user_b,
user_persona_txt_user_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