Memary: 지식 그래프를 사용하여 에이전트의 장기 기억력을 향상시키는 오픈 소스 프로젝트

최신 AI 리소스7개월 전에 게시 됨 AI 공유 서클
3K 00

일반 소개

Memary는 자율 지능을 위한 장기 메모리 관리 솔루션을 제공하는 데 중점을 둔 혁신적인 오픈 소스 프로젝트입니다. 이 프로젝트는 지식 그래프와 특수 메모리 모듈을 통해 지능이 기존 컨텍스트 창의 한계를 극복하고 더 스마트한 상호 작용 환경을 구현하도록 지원하며, 자동화된 메모리 생성 메커니즘을 사용하여 지능 상호 작용 중에 메모리를 자동으로 업데이트하고 통합 대시보드를 통해 이러한 메모리를 표시합니다. 이 시스템은 로컬에서 실행되는 Llama 및 LLaVA 모델과 클라우드의 GPT 모델을 포함한 여러 모델 구성을 지원합니다. 또한 Memary는 다중 그래프를 지원하므로 개발자가 여러 사용자를 위한 독립적인 인텔리전스 인스턴스를 생성하여 개인화된 메모리 관리를 할 수 있습니다.

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

메모리 전체 아키텍처

 

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

메모리 에이전트

 

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

메모리 지식 그래프

 

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 모델 구성
메모리는 두 가지 작동 모드를 지원합니다:

  • 로컬 모드(기본값): 사용 Ollama 운영 모델
    • LLM: Llama 3 8B/40B(권장)
    • 시각적 모델: LLaVA(권장)
  • 클라우드 모드:
    • LLM: gpt-3.5-turbo
    • 비전 모델: gpt-4-비전-프리뷰

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 지식 매핑 기능

  • 재귀적 검색 최적화
  • 멀티홉 추론 지원
  • 자동 업데이트 메커니즘
© 저작권 정책

관련 문서

댓글 없음

댓글에 참여하려면 로그인해야 합니다!
지금 로그인
없음
댓글 없음...