StarlightSearch/EmbedAnything

Highly Performant, Modular, Memory Safe and Production-ready Inference, Ingestion and Indexing built in Rust 🦀

What it solves

EmbedAnything 은 고성능 로컬 임베딩 파이프라인을 제공하여 다양한 데이터 소스(텍스트, 이미지, 오디오, PDF, 웹사이트)를 벡터 임베딩으로 변환하고 이를 벡터 데이터베이스로 스트리밍하는 과정을 단순화합니다. PyTorch에 대한 무거운 의존성을 없애 메모리 사용량을 줄이고 클라우드 배포를 용이하게 합니다.

How it works

속도와 메모리 안전성을 위해 Rust 로 구축되었으며, 프로젝트는 여러 백엔드(Candle, ONNX, 클라우드 모델)를 갖는 모듈식 아키텍처를 사용합니다. "Vector Streaming"을 활용해 문서 전처리와 모델 추론을 멀티스레딩(MPSC)으로 분리함으로써 지연 시간을 감소시키고, 임베딩을 직접 데이터베이스에 저장해 메모리 누수를 방지합니다.

Who it’s for

RAG(Retrieval‑Augmented Generation) 파이프라인을 구축하고 여러 모달리티에 걸친 임베딩을 가볍고 빠르게 로컬에서 생성·인덱싱하려는 AI 엔지니어를 위한 것입니다. 대규모 ML 프레임워크의 오버헤드를 피할 수 있습니다.

Highlights

  • Multi-modal Support: 텍스트(PDF, MD, TXT), 이미지(JPG), 오디오(.WAV), 웹사이트를 처리합니다.
  • Flexible Backends: Candle(핸깅페이스 모델과의 원활한 통합), ONNX(빠른 추론), 클라우드 API(예: Cohere)를 지원합니다.
  • Advanced Chunking: 내장된 의미론적 청킹과 레이트 청킹을 포함해 컨텍스트 보존을 향상시킵니다.
  • Vector DB Integration: Elastic, Weaviate, Pinecone, Qdrant, Milvus, Chroma 등 인기 데이터베이스용 어댑터를 제공합니다.
  • Hardware Acceleration: GPU 가속을 지원해 성능을 높입니다.