Memary: проект с открытым исходным кодом для улучшения долговременной памяти агента с помощью графов знаний

Общее введение

Memary - это инновационный проект с открытым исходным кодом, направленный на предоставление решений по управлению долгосрочной памятью для автономных интеллектов. Проект помогает интеллектам преодолеть ограничения традиционных контекстных окон и достичь более интеллектуального взаимодействия с помощью графов знаний и специализированных модулей памяти. Memary использует механизм автоматического создания памяти для автоматического обновления памяти во время взаимодействия с интеллектом и отображает эту память на единой приборной панели. Система поддерживает множество конфигураций моделей, включая локально работающие модели Llama и LLaVA, а также модели GPT в облаке. Кроме того, Memary поддерживает мультиграфы, позволяя разработчикам создавать независимые экземпляры интеллектов для разных пользователей, что дает возможность персонализировать управление памятью.

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

Общая архитектура Memary

 

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

Агент Мемари

 

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

Графы знаний Memary

 

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

Модули памяти

 

Список функций

  • Автоматизированное создание и обновление памяти
  • Хранение и поиск графов знаний
  • Объекты и временные метки отслеживания потока памяти
  • Частота и своевременность управления хранилищем знаний о сущностях (EKS)
  • Рекурсивные методы поиска для оптимизации поиска по графу знаний
  • Многоходовые рассуждения поддерживают обработку сложных запросов
  • Поддержка расширения пользовательских инструментов
  • Управление составлением карт тела с помощью нескольких разведчиков
  • Сжатие памяти и оптимизация контекстного окна
  • Извлечение тем и классификация сущностей
  • Функция анализа временной линии

 

Использование помощи

1. конфигурация установки

1.1 Основные требования

  • Требуемая версия Python: <= 3.11.9
  • Рекомендуется использовать виртуальную среду для установки

1.2 Способ установки
a) Установите с помощью pip.

pip install memary

b) Локальная установка.

  • Создание и активация виртуальной среды
  • Зависимости от установки. pip install -r requirements.txt

1.3 Конфигурация модели
Memary поддерживает два режима работы:

  • Локальный режим (по умолчанию): использовать Оллама операционная модель
    • LLM: Llama 3 8B/40B (рекомендуется)
    • Визуальная модель: LLaVA (рекомендуется)
  • Облачный режим:
    • LLM: gpt-3.5-turbo
    • Модель видения: gpt-4-vision-preview

2. Подготовка к защите окружающей среды

2.1 Настройка файла .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 Обновление конфигурации пользователя

  • компилятор streamlit_app/data/user_persona.txt Настройка характеристик пользователя
  • Дополнительно: Изменить streamlit_app/data/system_persona.txt Настройка характеристик системы

3. Основное использование

3.1 Запуск приложения

cd streamlit_app
streamlit run app.py

3.2 Примеры кода

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. Мультиинтеллектуальная конфигурация

Применяется при использовании базы данных 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. Функции управления памятью

5.1 Поток памяти

  • Автоматически фиксируйте все сущности и их временные метки
  • Поддержка анализа временной шкалы
  • Функция извлечения темы

5.2 Хранилище знаний о сущностях

  • Отслеживание частоты и своевременности цитирования организаций
  • Ранжирование релевантности сущностей
  • функция классификации объектов
  • Анализ изменений во времени

5.3 Функции отображения знаний

  • Рекурсивная поисковая оптимизация
  • Поддержка многоходовых рассуждений
  • Механизм автоматического обновления
© заявление об авторских правах

Похожие статьи

Нет комментариев

Вы должны войти в систему, чтобы участвовать в комментариях!
Войти сейчас
нет
Нет комментариев...