EmbedAnything is a Rust library, with Python bindings, that ingests files and other sources, chunks them, runs embedding models over the chunks, and streams the resulting vectors into a vector database. It handles text, PDFs, Markdown, images, audio, websites, and video (by frame sampling), and it runs embedding models locally without a PyTorch dependency, which keeps the memory footprint low.
Models run on one of two backends: Candle, which loads any Hugging Face model, or ONNX Runtime for pre-configured BERT, Jina, and ColPali models. Cloud models such as Cohere Embed v4 are also supported. The library covers dense, sparse (SPLADE), late-interaction (ColBERT, ColPali), Model2Vec, and reranker models, with GPU acceleration in a separate GPU build.
Vector streaming separates file processing, chunking, and inference onto different threads, so preprocessing does not wait on the model and embeddings go straight to the vector database instead of piling up in memory. Its FAQ contrasts it with fastembed: EmbedAnything offers both Candle and ONNX backends and an end-to-end ingest-to-index pipeline rather than an ONNX wrapper alone.
| Model family | Examples |
|---|---|
| Jina | Jina embeddings v2, Jina reranker |
| BERT | All BERT-based models |
| CLIP | openai/clip-* |
| Whisper | OpenAI Whisper models |
| ColPali | colpali-v1.2 ONNX |
| ColBERT | answerai-colbert-small, jina-colbert-v2 |
| SPLADE | SPLADE and SPLADE-like models |
| Model2Vec | potion-base-8M |
| Qwen3-Embedding | Qwen3-Embedding-0.6B |
| Gemma3 | embeddinggemma-300m |
Features
- Multimodal sources: text, PDF, Markdown, images, audio, websites, and video frames
- Two backends: Candle for any Hugging Face model and ONNX Runtime for pre-configured models, plus cloud models such as Cohere Embed v4
- Embedding types: dense, sparse, late-interaction, Model2Vec, and reranker models
- Chunking: sentence, word, and semantic splitting, plus late chunking
- Vector streaming: preprocessing and inference run on separate threads and write directly to the vector database
- Vector database adapters: Elastic, Weaviate, Pinecone, Qdrant, Milvus, and Chroma
- Custom pooling: mean, CLS, or last-token pooling overrides per model
- Private models: loads gated or private Hugging Face repositories with an access token
- Remote ingestion: imports files directly from an AWS S3 bucket
- Server image: a prebuilt Docker image runs the library as a server


