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

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

Агент Мемари

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

Модули памяти
Список функций
- Автоматизированное создание и обновление памяти
- Хранение и поиск графов знаний
- Объекты и временные метки отслеживания потока памяти
- Частота и своевременность управления хранилищем знаний о сущностях (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 Функции отображения знаний
- Рекурсивная поисковая оптимизация
- Поддержка многоходовых рассуждений
- Механизм автоматического обновления
© заявление об авторских правах
Авторское право на статью Круг обмена ИИ Пожалуйста, не воспроизводите без разрешения.
Похожие статьи
Нет комментариев...