Memary : un projet open source pour améliorer la mémoire à long terme de l'agent à l'aide de graphes de connaissances
Introduction générale
Memary est un projet open source innovant visant à fournir des solutions de gestion de la mémoire à long terme pour les intelligences autonomes. Le projet aide les intelligences à dépasser les limites des fenêtres contextuelles traditionnelles pour obtenir une expérience d'interaction plus intelligente grâce à des graphes de connaissances et des modules de mémoire spécialisés.Memary utilise un mécanisme de génération automatique de mémoire pour mettre à jour automatiquement les mémoires pendant les interactions avec les intelligences, et affiche ces mémoires à travers un tableau de bord unifié. Le système prend en charge plusieurs configurations de modèles, y compris les modèles Llama et LLaVA exécutés localement, ainsi que les modèles GPT dans le nuage. En outre, Memary offre un support multi-graphique, permettant aux développeurs de créer des instances indépendantes d'intelligences pour différents utilisateurs, ce qui permet une gestion personnalisée des mémoires.

Architecture générale de Memary

Agent de mémoire

Graphes de connaissances Memary

Modules de mémoire
Liste des fonctions
- Génération et mise à jour automatisées de la mémoire
- Stockage et récupération de graphes de connaissances
- Entités de suivi du flux de mémoire et horodatages
- Fréquence et actualité de la gestion de l'Entity Knowledge Store (EKS)
- Méthodes de recherche récursive pour optimiser la recherche dans les graphes de connaissances
- Le raisonnement multi-sauts prend en charge le traitement de requêtes complexes
- Prise en charge de l'extension des outils personnalisés
- Gestion de la cartographie corporelle multi-intelligence
- Compression de la mémoire et optimisation de la fenêtre contextuelle
- Extraction de sujets et classification des entités
- Fonction d'analyse de la ligne du temps
Utiliser l'aide
1. configuration de l'installation
1.1 Exigences de base
- Version de Python requise : <= 3.11.9
- Il est recommandé d'utiliser un environnement virtuel pour l'installation
1.2 Méthode d'installation
a) Installer en utilisant pip.
pip install memary
b) Installation locale.
- Créer et activer un environnement virtuel
- Dépendances d'installation.
pip install -r requirements.txt
1.3 Configuration du modèle
Memary propose deux modes de fonctionnement :
- Mode local (par défaut) : utiliser Ollama modèle opérationnel
- LLM : Llama 3 8B/40B (recommandé)
- Modèle visuel : LLaVA (recommandé)
- Mode nuage :
- LLM : gpt-3.5-turbo
- Modèle de vision : gpt-4-vision-preview
2. préparation à l'environnement
2.1 Configuration du fichier .env
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 Mise à jour de la configuration de l'utilisateur
- compilateur
streamlit_app/data/user_persona.txt
Définition des caractéristiques de l'utilisateur - Facultatif : Modifier
streamlit_app/data/system_persona.txt
Ajustement des caractéristiques du système
3. utilisation de base
3.1 Lancement de l'application
cd streamlit_app
streamlit run app.py
3.2 Exemples de code
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. configuration multi-intelligence
S'applique lors de l'utilisation de la base de données FalkorDB :
# 用户 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. les fonctions de gestion de la mémoire
5.1 Flux de mémoire
- Capture automatique de toutes les entités et de leurs horodatages
- Aide à l'analyse de la chronologie
- Fonction d'extraction de thème
5.2 Magasin de connaissances sur les entités
- Suivi de la fréquence et de l'opportunité des citations d'entités
- Classement de la pertinence des entités
- fonction de classification des entités
- Analyses variables dans le temps
5.3 Fonctions de cartographie des connaissances
- Optimisation de la recherche récursive
- Prise en charge du raisonnement multi-sauts
- Mécanisme de mise à jour automatique
© déclaration de droits d'auteur
L'article est protégé par le droit d'auteur et ne doit pas être reproduit sans autorisation.
Articles connexes
Pas de commentaires...