superduper

LLM FrameworksCLIPython

★ 5,320주당 +4조회 4

무엇인가

Superduper는 AI 모델과 에이전트를 데이터베이스 안쪽에 붙여 동작시키는 Python 프레임워크다. 모델 서빙 계층과 데이터 저장 계층을 별도 시스템으로 나누지 않고, 데이터베이스를 실행 기반으로 삼는다. 데이터 변경을 감지해 모델 출력을 다시 데이터베이스에 적재하는 흐름을 프레임워크가 관리한다. LLM 애플리케이션을 만드는 프레임워크 계열에 속하며, 데이터백엔드 플러그인을 바꿔 저장소를 교체하는 구조다.

어떻게 동작하나

설치 단위는 세 층이다. 베이스 패키지, 데이터백엔드 플러그인, 사용 사례별 추가 플러그인으로 나뉜다. 데이터백엔드 플러그인이 데이터베이스 연결과 질의 실행을 담당한다. Python에서 데이터베이스 URI로 연결 객체를 만들고, 모델·리스너·벡터 인덱스 같은 컴포넌트를 db.apply()로 등록한다. 등록된 컴포넌트의 정의와 실행 결과는 데이터베이스 안에 저장된다. 리스너는 지정한 테이블의 삽입·갱신을 감시하고, 조건이 맞으면 연결된 모델을 실행해 출력을 다시 저장한다.

무엇과 다른가

LangChain·LlamaIndex 계열은 애플리케이션 프로세스가 데이터를 꺼내와 메모리에서 모델을 호출하는 구조다. Superduper는 모델 실행과 결과 저장을 데이터베이스 계층에 두고, 애플리케이션은 등록된 컴포넌트를 조회하는 쪽에 가깝다. 별도 벡터 데이터베이스를 세우는 대신 기존 데이터베이스에 벡터 인덱스를 붙인다. 모델 출력을 다시 적재하는 수동 ETL 파이프라인을 리스너 등록으로 대체한다.

어떻게 쓰나

Python에서 데이터베이스 URI를 넘겨 연결 객체를 만든다. 모델, 리스너, 벡터 인덱스를 각각 객체로 정의해 db.apply()에 넘기면 데이터베이스에 등록된다. 등록 이후에는 애플리케이션이 직접 모델을 호출하지 않아도 데이터 변경 시점에 실행된다. 등록된 컴포넌트는 데이터베이스에 남아 재시작 후에도 같은 설정으로 동작한다. 베이스 패키지를 설치하면 superduper 명령이 함께 설치된다.

전제와 한계

Python 3.10 이상이 필요하다. 베이스 패키지 외에 데이터백엔드 플러그인을 반드시 설치해야 하며, 베이스 패키지만으로는 데이터베이스에 연결할 수 없다. 모델·임베딩·LLM 제공자 플러그인은 사용 사례에 따라 선택적으로 추가한다. 배포 라이선스는 Apache 2.0이다.

유사 도구