Banco de dados open source de embeddings para apps de IA, que armazena documentos e vetores para buscas semânticas, híbridas e de texto completo.
StarlightSearch/EmbedAnything
Pipeline de embeddings em Rust que ingere textos, PDFs, imagens, áudios e sites, gera embeddings localmente ou com modelos na nuvem e os envia para bancos de dados vetoriais.
- Estrelas
- 1,323
- Forks
- 140
- Issues abertas
- 20
- Último commit
- há 12 dias
O que é?
EmbedAnything é um pipeline de embeddings escrito em Rust, com bindings para Python. Ele recebe arquivos de várias fontes, incluindo textos, PDFs, Markdown, imagens, áudios, sites e buckets do S3, divide o conteúdo em chunks, gera embeddings e envia os resultados para um banco de dados vetorial. Entre os tipos de modelo compatíveis estão embeddings densos, esparsos (SPLADE), ONNX, Model2Vec e de interação tardia (ColBERT, ColPali), além de rerankers.
Os modelos são executados pelos backends Candle ou ONNX Runtime, então o projeto não depende do PyTorch. É possível carregar modelos do Hugging Face diretamente, e também há modelos de embedding na nuvem, como o Cohere. As opções de chunking incluem estratégias de tamanho fixo, por sentença, semântica e late-chunking. O processamento, a indexação e a inferência são executados em threads separadas, permitindo enviar arquivos ao armazenamento enquanto os embeddings são gerados.
O projeto oferece adapters para bancos de dados vetoriais como Qdrant, Weaviate, Milvus, Pinecone, Chroma e Elasticsearch, além de uma imagem Docker pré-compilada para o servidor.
Recursos principais
- 01Gera embeddings densos, esparsos, ONNX, Model2Vec e de interação tardia.
- 02Executa modelos no Candle ou no ONNX Runtime sem exigir o PyTorch.
- 03Ingere PDFs, textos, Markdown, imagens, áudios, sites e buckets do S3.
- 04Oferece estratégias de chunking de tamanho fixo, por sentença, semântica e late-chunking.
- 05Envia embeddings para bancos de dados vetoriais como Qdrant, Weaviate e Milvus.
- 06Disponibiliza bindings para Python e uma imagem Docker pré-compilada do servidor.
Casos de uso
- Criar um pipeline RAG que indexa PDFs e documentos em um banco de dados vetorial.
- Gerar embeddings em máquinas locais ou servidores na nuvem sem instalar o PyTorch.
- Indexar grandes coleções de arquivos em buckets do S3 à medida que são processados.
- Executar buscas híbridas que combinam embeddings densos e esparsos SPLADE.
Início rápido
- 1
Instale o pacote Python conforme as instruções da seção Installation do README
- 2
Carregue um modelo e gere um embedding de um arquivo usando o exemplo de uso do README
Antes de usar
- Modelos na nuvem, como o Cohere, exigem sua própria chave de API.
- Alguns modelos, como os de repositórios restritos do Hugging Face, exigem um token de acesso.
Tópicos
Perguntas frequentes
- O que é EmbedAnything?
- Pipeline de embeddings em Rust que ingere textos, PDFs, imagens, áudios e sites, gera embeddings localmente ou com modelos na nuvem e os envia para bancos de dados vetoriais. EmbedAnything é um pipeline de embeddings escrito em Rust, com bindings para Python. Ele recebe arquivos de várias fontes, incluindo textos, PDFs, Markdown, imagens, áudios, sites e buckets do S3, divide o conteúdo em chunks, gera embeddings e envia os resultados para um banco de dados vetorial. Entre os tipos de modelo compatíveis estão embeddings densos, esparsos (SPLADE), ONNX, Model2Vec e de interação tardia (ColBERT, ColPali), além de rerankers.
- EmbedAnything é gratuito? Qual é a licença?
- EmbedAnything é open source sob a licença Apache-2.0. Confira os termos da licença antes de usá-lo em produtos comerciais.
- EmbedAnything ainda é mantido?
- Manutenção ativa. O último commit de EmbedAnything foi em 26 de out. de 2026.
- Para que posso usar EmbedAnything?
- Criar um pipeline RAG que indexa PDFs e documentos em um banco de dados vetorial. Gerar embeddings em máquinas locais ou servidores na nuvem sem instalar o PyTorch. Indexar grandes coleções de arquivos em buckets do S3 à medida que são processados. Executar buscas híbridas que combinam embeddings densos e esparsos SPLADE.
- Como instalar EmbedAnything?
- Instale o pacote Python conforme as instruções da seção Installation do README Carregue um modelo e gere um embedding de um arquivo usando o exemplo de uso do README
- Onde consigo EmbedAnything?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/StarlightSearch/EmbedAnything
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Servidor baseado em Rust para implantar e servir modelos open source de embeddings de texto e reranking por HTTP e gRPC.
Epsilla é um banco de dados vetorial open source em C++ para busca por similaridade em embeddings, com filtros por metadados, busca híbrida e integração com sistemas de recuperação para LLMs.
Banco de dados vetorial open source que armazena objetos e vetores juntos, combinando busca por similaridade vetorial com filtros estruturados.
Coleção de tutoriais e demos em Jupyter notebooks que mostram como criar aplicações de busca em dados não estruturados e IA com o banco de dados vetorial Milvus.
Biblioteca oficial de cliente Python para o mecanismo de busca vetorial Qdrant, com acesso REST/gRPC síncrono e assíncrono e modo local em memória.