Memary: un proyecto de código abierto para mejorar la memoria a largo plazo del Agente mediante grafos de conocimiento

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.

Memary:利用知识图谱增强Agent长期记忆的开源项目

Arquitectura general de la memoria

 

Memary:利用知识图谱增强Agent长期记忆的开源项目

Agente Memary

 

Memary:利用知识图谱增强Agent长期记忆的开源项目

Memary Knowledge Graphs

 

Memary:利用知识图谱增强Agent长期记忆的开源项目

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
AiPPT

Artículos relacionados

Sin comentarios

Debe iniciar sesión para participar en los comentarios.
Acceder ahora
ninguno
Sin comentarios...