LLM, AI 에이전트 및 다중 에이전트 시스템을 위한 오픈 소스 SQL 네이티브 메모리 엔진. 단 한 줄의 코드로 영구적이고 쿼리 가능한 AI 메모리 기능을 구현합니다.

NOASSERTIONPythonMemoriGibsonAI 8.5k Last Updated: November 24, 2025

Memori - 오픈소스 AI 메모리 엔진 상세 소개

프로젝트 개요

Memori는 대규모 언어 모델(LLM), AI 에이전트 및 다중 에이전트 시스템을 위해 특별히 설계된 오픈소스 SQL 네이티브 메모리 엔진입니다. 단 한 줄의 코드로 모든 LLM에 영구적이고 쿼리 가능한 메모리 기능을 부여하며, 표준 SQL 데이터베이스를 사용하여 메모리 데이터를 저장합니다.

핵심 특징:

  • memori.enable() 한 줄 코드로 간편하게 통합
  • 메모리 데이터는 표준 SQL 데이터베이스(SQLite, PostgreSQL, MySQL)에 저장되어 사용자가 완전히 소유하고 제어
  • AI는 대화를 기억하고, 상호 작용을 통해 학습하며, 여러 세션에 걸쳐 컨텍스트를 유지

Memori를 선택하는 이유?

1. 한 줄 코드 통합

OpenAI, Anthropic, LiteLLM, LangChain 및 모든 LLM 프레임워크를 지원하며, 통합이 매우 간단합니다.

2. SQL 네이티브 저장

  • 이식 가능하고, 쿼리 가능하며, 감사 가능한 메모리 데이터
  • 사용자가 완전히 제어하는 데이터베이스에 저장
  • 복잡한 벡터 데이터베이스 불필요

3. 비용 80-90% 절감

고가의 벡터 데이터베이스가 필요 없어 운영 비용을 대폭 절감합니다.

4. 제로 벤더 종속

메모리를 SQLite 형식으로 내보내 언제든지 다른 곳으로 마이그레이션할 수 있습니다.

5. 지능형 메모리 관리

  • 자동 엔티티 추출
  • 관계 매핑
  • 컨텍스트 우선순위 지정

빠른 시작

설치

pip install memorisdk

기본 사용법

from memori import Memori
from openai import OpenAI

# 초기화
memori = Memori(conscious_ingest=True)
memori.enable()
client = OpenAI()

# 첫 번째 대화
response = client.chat.completions.create(
    model="gpt-4o-mini",
    messages=[{"role": "user", "content": "I'm building a FastAPI project"}]
)

# 후속 대화 - Memori가 자동으로 컨텍스트 제공
response = client.chat.completions.create(
    model="gpt-4o-mini",
    messages=[{"role": "user", "content": "Help me add authentication"}]
)
# LLM은 자동으로 당신의 FastAPI 프로젝트 정보를 알게 됩니다.

지원되는 데이터베이스

Memori는 모든 표준 SQL 데이터베이스를 지원합니다:

데이터베이스 연결 문자열 예시
SQLite sqlite:///my_memory.db
PostgreSQL postgresql://user:pass@localhost/memori
MySQL mysql://user:pass@localhost/memori
Neon postgresql://user:pass@ep-*.neon.tech/memori
Supabase postgresql://postgres:pass@db.*.supabase.co/postgres

지원되는 LLM 프레임워크

LiteLLM의 네이티브 콜백 시스템을 통해 Memori는 모든 주요 프레임워크를 지원합니다:

프레임워크 상태 사용 방식
OpenAI ✓ 네이티브 지원 from openai import OpenAI
Anthropic ✓ 네이티브 지원 from anthropic import Anthropic
LiteLLM ✓ 네이티브 지원 from litellm import completion
LangChain ✓ 지원 LiteLLM 통합을 통해
Azure OpenAI ✓ 지원 ProviderConfig.from_azure()를 사용하여 구성
100+ 모델 ✓ 지원 모든 LiteLLM 호환 제공업체

구성 옵션

데이터베이스 구성

from memori import Memori

memori = Memori(
    database_connect="postgresql://user:pass@localhost/memori",
    conscious_ingest=True,  # 단기 작업 기억
    auto_ingest=True,       # 매번 쿼리 시 동적 검색
    openai_api_key="sk-..."
)
memori.enable()

메모리 모드

컨셔스 모드 - 일회성 작업 기억 주입

memori = Memori(conscious_ingest=True)

자동 모드 - 매번 쿼리 시 동적 검색

memori = Memori(auto_ingest=True)

조합 모드 - 두 가지 모두 활용

memori = Memori(conscious_ingest=True, auto_ingest=True)

환경 변수 구성

from memori import Memori, ConfigManager

config = ConfigManager()
config.auto_load()  # 환경 변수 또는 구성 파일에서 로드
memori = Memori()
memori.enable()

환경 변수 설정:

export MEMORI_DATABASE__CONNECTION_STRING="postgresql://..."
export MEMORI_AGENTS__OPENAI_API_KEY="sk-..."
export MEMORI_MEMORY__NAMESPACE="production"

작동 방식

Memori는 LLM 호출을 가로채는 방식으로 작동합니다. 호출 전에 컨텍스트를 주입하고, 호출 후에 정보를 기록합니다:

호출 전 (컨텍스트 주입)

  1. 당신의 애플리케이션이 client.chat.completions.create(messages=[...])를 호출합니다.
  2. Memori가 해당 호출을 투명하게 가로챕니다.
  3. 검색 에이전트(자동 모드) 또는 컨셔스 에이전트(컨셔스 모드)가 관련 메모리를 검색합니다.
  4. LLM 제공업체로 전송하기 전에 컨텍스트를 메시지에 주입합니다.

호출 후 (기록)

  1. LLM 제공업체가 응답을 반환합니다.
  2. 메모리 에이전트가 엔티티를 추출하고, 분류합니다(사실, 선호도, 기술, 규칙, 컨텍스트).
  3. 대화는 전체 텍스트 검색 인덱스와 함께 SQL 데이터베이스에 저장됩니다.
  4. 원래 응답이 당신의 애플리케이션으로 반환됩니다.

백그라운드 처리 (6시간마다)

  • 컨셔스 에이전트가 패턴을 분석하여 중요한 메모리를 장기 저장소에서 단기 저장소로 승격시킵니다.

애플리케이션 시나리오 예시

기본 예시

  • 기본 사용법 - 간단한 메모리 설정
  • 개인 비서 - 메모리를 가진 AI 비서
  • 메모리 검색 - 함수 호출
  • 고급 구성 - 프로덕션 환경 설정

다중 사용자 시나리오

  • 간단한 다중 사용자 - 사용자 메모리 격리
  • FastAPI 다중 사용자 애플리케이션 - Swagger를 포함한 REST API

프레임워크 통합 예시

Memori는 여러 인기 AI 프레임워크와의 통합 예시를 제공합니다:

  • Agno
  • AWS Strands
  • Azure AI Foundry
  • AutoGen
  • CamelAI
  • CrewAI
  • Digital Ocean AI
  • LangChain
  • OpenAI Agent
  • Swarms

온라인 데모

  • 개인 일기 도우미 - 온라인에서 사용 가능한 Streamlit 애플리케이션
  • 연구 도우미 에이전트 - 온라인에서 사용 가능한 연구 도구

기술 아키텍처

Memori는 계층형 아키텍처로 설계되었습니다:

  1. 가로채기 계층 - LLM API 호출을 투명하게 가로챕니다.
  2. 검색 계층 - 관련 메모리 컨텍스트를 지능적으로 검색합니다.
  3. 저장 계층 - SQL 데이터베이스에 영구적으로 저장합니다.
  4. 분석 계층 - 백그라운드 분석 및 메모리 최적화를 수행합니다.

자세한 아키텍처 문서는 공식 문서의 architecture.md를 참조하십시오.

엔터프라이즈 에디션 (Memori v3)

Memori는 v3 버전의 소규모 비공개 테스트 그룹을 모집하고 있습니다. 더 자세히 알아보고 엔터프라이즈 AI의 새로운 메모리 아키텍처를 미리 경험하고 싶다면 테스트 프로그램에 참여할 수 있습니다.

커뮤니티 및 지원

기여 가이드

Memori는 커뮤니티의 기여를 환영합니다! 프로젝트는 다음을 포함한 상세한 기여 가이드를 제공합니다:

  • 개발 환경 설정
  • 코드 스타일 및 표준
  • Pull Request 제출
  • 문제 보고

오픈소스 라이선스

Apache 2.0 라이선스

요약

Memori는 강력하고 사용하기 쉬운 AI 메모리 솔루션으로, 특히 다음 경우에 적합합니다:

  • LLM 애플리케이션에 메모리 기능을 추가해야 하는 개발자
  • 다중 세션 AI 비서를 구축하는 팀
  • 벡터 데이터베이스 비용을 절감해야 하는 프로젝트
  • AI 메모리 데이터를 완전히 제어하고자 하는 기업

SQL 네이티브 저장과 한 줄 코드 통합이라는 설계 철학을 통해 Memori는 AI 애플리케이션에 메모리 기능을 추가하는 진입 장벽과 비용을 크게 낮춥니다.

Star History Chart