milvus-io/milvus-lite

A lightweight version of Milvus

해결하는 문제

Milvus Lite는 프로토타이핑, 테스트 또는 소규모 AI 애플리케이션에서 벡터 검색 기능이 필요한 개발자들을 위해 복잡한 인프라 설정 없이도 사용할 수 있는 가벼운 로컬 버전의 Milvus 벡터 데이터베이스를 제공합니다. 사용자는 로컬 파일 또는 임베디드 서버로 완전히 기능하는 벡터 스토어를 실행할 수 있으며, 로컬 개발용으로 작성된 코드를 최소한의 변경으로 프로덕션용 Milvus 배포(Standalone 또는 Distributed) 또는 Zilliz Cloud로 쉽게 마이그레이션할 수 있습니다.

작동 방식

순수 Python으로 다시 구축된 Milvus Lite는 로컬 LSM 스타일의 스토리지 엔진을 사용합니다. 데이터는 Write-Ahead Log (WAL), 메모리 내 memtable, 그리고 불변의 Parquet 세그먼트를 통해 관리됩니다. 검색에는 FAISS 기반 벡터 인덱스와 INVERTED 스칼라 인덱스를 활용합니다. 세 가지 방식으로 작동할 수 있습니다: pymilvus 클라이언트를 통해 로컬 .db 파일로, 다중 클라이언트 접근을 위한 스탠드얼론 로컬 gRPC 서버로, 또는 내부 임베디드 엔진 API를 직접 통해.

대상 사용자

  • AI 개발자: 빠른 프로토타이핑을 위해 로컬 벡터 스토어가 필요한 RAG 애플리케이션 또는 AI 에이전트를 개발하는 사람.
  • 데이터 과학자: Jupyter 같은 노트북에서 작업하면서 별도의 데이터베이스 서버를 관리하지 않고도 벡터 검색을 통합하고 싶은 사용자.
  • QA 엔지니어: 벡터 데이터베이스에 대한 자동화된 테스트를 실행하기 위해 가벼우면서 격리된 환경이 필요한 개발자.

주요 특징

  • 즉시 사용 가능한 로컬 환경: MilvusClient("./demo.db")로 한 줄의 코드로 데이터베이스를 시작.
  • 하이브리드 검색: 밀도 벡터 검색, 스파스 BM25 전체 텍스트 검색, 그리고 결합된 하이브리드 검색을 지원.
  • 순수 Python: 표준 Python 스택 트레이스로 쉽게 조사 및 디버깅할 수 있도록 Python으로 구현.
  • 풍부한 필터링: Milvus 스타일의 스칼라, JSON 경로, 배열, 기하학적(WKT) 필터를 구현.
  • 무결성 있는 마이그레이션: pymilvus API와 호환되어 완전한 Milvus 클러스터로 쉽게 전환 가능.
  • 데이터 내보내기: 컬렉션을 JSON 파일로 내보내는 dump 명령어를 포함하여 프로덕션 Milvus 환경으로 대량 삽입 가능.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트