mem0ai/mem0
AI 어시스턴트와 에이전트를 위한 지능형 메모리 레이어로, 사용자 선호도를 기억하고 시간에 따라 학습합니다.
60,224+455이번 주0 찜
6,985포크154이슈
중간맛 분석
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 인증 정보
바로 시작하기
- 라이브러리 설치
pip install mem0ai
- NLP 기능(선택사항, 키워드·엔티티 추출용)
pip install mem0ai[nlp]
python -m spacy download en_core_web_sm
- 기본 메모리 초기화 및 사용
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)
- 대화 루프 구성
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)}")
- 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/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@gitbapAI가 README 기반으로 요약했습니다 · 원문 보기