Memary: un proyecto de código abierto para mejorar la memoria a largo plazo del Agente mediante grafos de conocimiento
Últimos recursos sobre IAPublicado hace 7 meses Círculo de intercambio de inteligencia artificial 2.7K 00
Introducción general
Memary es un innovador proyecto de código abierto centrado en proporcionar soluciones de gestión de memoria a largo plazo para inteligencias autónomas. El proyecto ayuda a las inteligencias a superar las limitaciones de las ventanas contextuales tradicionales para lograr una experiencia de interacción más inteligente a través de gráficos de conocimiento y módulos de memoria especializados.Memary utiliza un mecanismo automatizado de generación de memoria para actualizar automáticamente las memorias durante las interacciones de las inteligencias, y muestra estas memorias a través de un panel de control unificado. El sistema admite múltiples configuraciones de modelos, incluidos modelos Llama y LLaVA de ejecución local, así como modelos GPT en la nube. Además, Memary es compatible con múltiples gráficos, lo que permite a los desarrolladores crear instancias independientes de inteligencias para diferentes usuarios, haciendo posible una gestión personalizada de la memoria.

Arquitectura general de la memoria

Agente Memary

Memary Knowledge Graphs

Módulos de memoria
Lista de funciones
- Generación y actualización automática de memorias
- Almacenamiento y recuperación de grafos de conocimiento
- Entidades de seguimiento de flujos de memoria y marcas de tiempo
- Frecuencia y puntualidad de la gestión del Almacén de Conocimientos de Entidades (EKS)
- Métodos de recuperación recursiva para optimizar la búsqueda en grafos de conocimiento
- El razonamiento multisalto permite procesar consultas complejas
- Ampliación de herramientas personalizadas
- Gestión de la cartografía corporal multiinteligencia
- Compresión de memoria y optimización de ventanas contextuales
- Extracción de temas y clasificación de entidades
- Función de análisis cronológico
Utilizar la ayuda
1. Configuración de la instalación
1.1 Requisitos básicos
- Versión de Python requerida: <= 3.11.9
- Se recomienda utilizar un entorno virtual para la instalación
1.2 Método de instalación
a) Instalar usando pip.
pip install memary
b) Instalación local.
- Crear y activar un entorno virtual
- Dependencias de instalación.
pip install -r requirements.txt
1.3 Configuración del modelo
Memary admite dos modos de funcionamiento:
- Modo local (por defecto): utilizar Ollama modelo operativo
- LLM: Llama 3 8B/40B (recomendado)
- Modelo visual: LLaVA (recomendado)
- Modo nube:
- LLM: gpt-3.5-turbo
- Modelo de visión: gpt-4-vision-preview
2. Preparación medioambiental
2.1 Configuración del archivo .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 Actualizar la configuración de usuario
- compilador
streamlit_app/data/user_persona.txt
Configuración de las características del usuario - Opcional: Modificar
streamlit_app/data/system_persona.txt
Ajuste de las características del sistema
3. Uso básico
3.1 Iniciar la aplicación
cd streamlit_app
streamlit run app.py
3.2 Ejemplos de código
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. Configuración multiinteligencia
Se aplica cuando se utiliza la base de datos 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. Funciones de gestión de la memoria
5.1 Flujo de memoria
- Captura automática de todas las entidades y sus marcas de tiempo
- Apoyo al análisis cronológico
- Función de extracción de temas
5.2 Almacén de conocimiento de entidades
- Seguimiento de la frecuencia y puntualidad de las citaciones de entidades
- Clasificación por relevancia de las entidades
- función de clasificación de entidades
- Análisis temporales
5.3 Funciones de la cartografía del conocimiento
- Optimización de la búsqueda recursiva
- Soporte de razonamiento multisalto
- Mecanismo de actualización automática
© declaración de copyright
El artículo está protegido por derechos de autor y no debe reproducirse sin autorización.
Artículos relacionados
Sin comentarios...