Open-source embedding database for AI apps, storing documents and vectors to power semantic, hybrid and full-text search.
StarlightSearch/EmbedAnything
A Rust-based embedding pipeline that ingests text, PDFs, images, audio and websites, generates embeddings locally or via cloud models, and streams them into vector databases.
- Stars
- 1,323
- Forks
- 140
- Open issues
- 20
- Last commit
- 12 days ago
What is it?
EmbedAnything is an embedding pipeline written in Rust with Python bindings. It takes files from several sources, including text, PDFs, Markdown, images, audio, websites and S3 buckets, splits them into chunks, generates embeddings, and streams the results into a vector database. Supported model types include dense, sparse (SPLADE), ONNX, Model2Vec and late-interaction (ColBERT, ColPali) embeddings, with rerankers also covered.
Models run through the Candle or ONNX Runtime backends, so the project does not depend on PyTorch. Hugging Face models can be loaded directly, and cloud embedding models such as Cohere are also available. Chunking options include fixed-size, sentence, semantic and late-chunking strategies. Processing, indexing and inference run on separate threads so that files can be streamed into storage as they are embedded.
The project provides adapters for vector stores such as Qdrant, Weaviate, Milvus, Pinecone, Chroma and Elasticsearch, and a prebuilt Docker image for its server.
Key features
- 01Generates dense, sparse, ONNX, Model2Vec and late-interaction embeddings.
- 02Runs models on Candle or ONNX Runtime without requiring PyTorch.
- 03Ingests PDFs, text, Markdown, images, audio, websites and S3 buckets.
- 04Offers fixed, sentence, semantic and late-chunking strategies.
- 05Streams embeddings into vector databases such as Qdrant, Weaviate and Milvus.
- 06Provides Python bindings and a prebuilt Docker server image.
Use cases
- Building a RAG pipeline that indexes PDFs and documents into a vector database.
- Generating embeddings on local machines or cloud servers without a PyTorch install.
- Indexing large collections of files from S3 buckets as they are processed.
- Running hybrid search that combines dense and SPLADE sparse embeddings.
Quick start
- 1
Install the Python package as described in the README's Installation section
- 2
Load a model and embed a file using the usage example in the README
Things to know
- Cloud models such as Cohere require your own API key.
- Some models, such as gated Hugging Face repositories, require an access token.
Topics
FAQ
- What is EmbedAnything?
- A Rust-based embedding pipeline that ingests text, PDFs, images, audio and websites, generates embeddings locally or via cloud models, and streams them into vector databases. EmbedAnything is an embedding pipeline written in Rust with Python bindings. It takes files from several sources, including text, PDFs, Markdown, images, audio, websites and S3 buckets, splits them into chunks, generates embeddings, and streams the results into a vector database. Supported model types include dense, sparse (SPLADE), ONNX, Model2Vec and late-interaction (ColBERT, ColPali) embeddings, with rerankers also covered.
- Is EmbedAnything free to use? What license does it have?
- EmbedAnything is open source under the Apache-2.0 license. Check the license terms before using it in commercial products.
- Is EmbedAnything still maintained?
- Actively maintained. The last commit to EmbedAnything was on Oct 26, 2026.
- What can I use EmbedAnything for?
- Building a RAG pipeline that indexes PDFs and documents into a vector database. Generating embeddings on local machines or cloud servers without a PyTorch install. Indexing large collections of files from S3 buckets as they are processed. Running hybrid search that combines dense and SPLADE sparse embeddings.
- How do I install EmbedAnything?
- Install the Python package as described in the README's Installation section Load a model and embed a file using the usage example in the README
- Where can I get EmbedAnything?
- The source code and installation instructions are on GitHub: https://github.com/StarlightSearch/EmbedAnything
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
A Rust-based server for deploying and serving open-source text embedding and reranker models over HTTP and gRPC.
Epsilla is an open-source C++ vector database for embedding similarity search, with metadata filtering, hybrid search, and LLM retrieval integrations.
Open-source vector database that stores objects and vectors together, combining vector similarity search with structured filtering.
A collection of Jupyter notebook tutorials and demos showing how to build unstructured-data search and AI applications with the Milvus vector database.
Official Python client library for the Qdrant vector search engine, with sync and async REST/gRPC access and a local in-memory mode.