Repolode
StarlightSearch

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. 1

    Install the Python package as described in the README's Installation section

  2. 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