mem0ai/mem0

AI 어시스턴트와 에이전트를 위한 지능형 메모리 레이어로, 사용자 선호도를 기억하고 시간에 따라 학습합니다.

개발 재료맘대로 써도 됨 · Apache-2.0AI 에이전트Python난이도
60,224+455이번 주0
6,985포크154이슈
데모·홈페이지 열기mem0.ai

중간맛 분석

Python·Node.js 기반의 메모리 관리 라이브러리로, LLM(ChatGPT, Claude 등)과 연동하여 사용자·세션·에이전트 상태를 저장하고 검색합니다. 설정이 직관적이고 pip/으로 즉시 시작 가능하며, 자체 호스팅 서버() 또는 클라우드 Platform 옵션도 제공합니다. 라이브 데모(mem0.dev/demo), ChatGPT 플러그인, LangGraph·CrewAI 통합이 있어 바로 프로토타이핑할 수 있습니다.

이런 레포예요

이럴 때 쓰면 좋아요

  • 고객 지원 챗봇이 이전 상담 기록을 자동으로 불러와 맞춤형 지원을 제공할 때
  • AI 코딩 어시스턴트가 사용자 코딩 스타일·설정·프로젝트 구조를 학습해 제안을 개선할 때
  • 의료 시스템이 환자의 과거 진료 기록·선호도·약물 이력을 장기 보관해 더 나은 치료 계획을 세울 때

핵심 기능

사용자·세션·에이전트 3단계 메모리 관리의미론적·키워드·엔티티 기반 하이브리드 검색시간 인식 및 적응형 개인화 검색

대안 대비 차별점

기존 메모리 알고리즘 대비 단일 패스 추출과 다중 신호 검색으로 LoCoMo +20점, LongMemEval +27점 성능 향상을 달성하며, 벤치마크 프레임워크를 공개해 검증 가능성을 보장합니다.

준비물

  • Python 3.8+ 또는 Node.js 14+
  • OpenAI API 키 또는 지원 LLM 인증 정보

바로 시작하기

  1. 라이브러리 설치
pip install mem0ai
  1. NLP 기능(선택사항, 키워드·엔티티 추출용)
pip install mem0ai[nlp]
python -m spacy download en_core_web_sm
  1. 기본 메모리 초기화 및 사용
from openai import OpenAI
from mem0 import Memory

openai_client = OpenAI()
memory = Memory()

# 메모리 추가
memory.add("사용자 이름은 Alice이고 다크 모드를 선호합니다", user_id="alice")

# 메모리 검색
results = memory.search("Alice의 선호도는?", user_id="alice")
print(results)
  1. 대화 루프 구성
from openai import OpenAI
from mem0 import Memory

openai_client = OpenAI()
memory = Memory()

def chat_with_memories(message: str, user_id: str = "default_user") -> str:
    relevant_memories = memory.search(query=message, filters={"user_id": user_id}, top_k=3)
    memories_str = "\n".join(f"- {entry['memory']}" for entry in relevant_memories["results"])
    
    system_prompt = f"당신은 도움이 되는 AI입니다. 쿼리와 메모리를 바탕으로 답변하세요.\n사용자 메모리:\n{memories_str}"
    messages = [{"role": "system", "content": system_prompt}, {"role": "user", "content": message}]
    response = openai_client.chat.completions.create(model="gpt-4o-mini", messages=messages)
    assistant_response = response.choices[0].message.content
    
    messages.append({"role": "assistant", "content": assistant_response})
    memory.add(messages, user_id=user_id)
    
    return assistant_response

if __name__ == "__main__":
    while True:
        user_input = input("당신: ").strip()
        if user_input.lower() == 'exit':
            break
        print(f"AI: {chat_with_memories(user_input)}")
  1. CLI로 메모리 관리(선택사항)
npm install -g @mem0/cli

mem0 init
mem0 add "어두운 모드와 vim 단축키를 선호합니다" --user-id alice
mem0 search "Alice가 뭘 선호하나?" --user-id alice

별 추이 · 7일

60,224+455 / 7일

활용성 · 따라 만들기 좋은가

베스트 샘플샘플 점수 80/100
  • 관대한 라이선스
  • 테스트 있음
  • 예제 디렉토리
  • 최근 활동
  • AGENTS.md
  • llms.txt
  • 템플릿

🟢 최근 활동 있음 · 2023년 생성

이 레포에 깃밥 배지 달기

[![깃밥](https://www.gitbap.com/badge/mem0ai/mem0.svg)](https://www.gitbap.com/r/mem0ai/mem0)

🔌 클로드에서 바로 써보기

깃밥을 클로드에 연결하면 이런 레포를 클로드·커서·Codex에서 바로 찾고 체험할 수 있어요.

방법 ① 커넥터 URL

클로드 설정 → 커넥터에 이 주소를 붙여넣기.

https://www.gitbap.com/api/mcp
방법 ② 플러그인 (체험까지)

플러그인을 설치하면 /gitbap-trending·/gitbap-try 슬래시 커맨드로 레포를 그 자리에서 체험. Claude Code에서 아래 두 줄을 차례로 실행하세요.

/plugin marketplace add jakeparkcolde/gitbap-cowork
/plugin install gitbap-cowork@gitbap
연결 방법 자세히 →

AI가 README 기반으로 요약했습니다 · 원문 보기