Repolode
StarlightSearch

StarlightSearch/EmbedAnything

Pipeline de embeddings en Rust que procesa texto, PDF, imágenes, audio y sitios web, genera embeddings localmente o con modelos en la nube y los envía a bases de datos vectoriales.

Estrellas
1,323
Forks
140
Issues abiertos
20
Último commit
hace 12 días

¿Qué es?

EmbedAnything es un pipeline de embeddings escrito en Rust con bindings para Python. Procesa archivos de distintas fuentes, como texto, PDF, Markdown, imágenes, audio, sitios web y buckets de S3, los divide en fragmentos, genera embeddings y envía los resultados a una base de datos vectorial. Admite modelos de embeddings densos, dispersos (SPLADE), ONNX, Model2Vec y de interacción tardía (ColBERT, ColPali), además de rerankers.

Los modelos se ejecutan mediante los backends Candle u ONNX Runtime, por lo que el proyecto no depende de PyTorch. Los modelos de Hugging Face se pueden cargar directamente, y también están disponibles modelos de embeddings en la nube, como Cohere. Entre las opciones de fragmentación se incluyen estrategias de tamaño fijo, por oración, semánticas y de fragmentación tardía. El procesamiento, la indexación y la inferencia se ejecutan en hilos separados, de modo que los archivos se pueden enviar al almacenamiento a medida que se generan sus embeddings.

El proyecto ofrece adaptadores para almacenes vectoriales como Qdrant, Weaviate, Milvus, Pinecone, Chroma y Elasticsearch, además de una imagen de Docker preconstruida para su servidor.

Funciones clave

  • 01Genera embeddings densos, dispersos, ONNX, Model2Vec y de interacción tardía.
  • 02Ejecuta modelos con Candle u ONNX Runtime sin requerir PyTorch.
  • 03Procesa PDF, texto, Markdown, imágenes, audio, sitios web y buckets de S3.
  • 04Ofrece estrategias de tamaño fijo, por oración, semánticas y de fragmentación tardía.
  • 05Envía embeddings a bases de datos vectoriales como Qdrant, Weaviate y Milvus.
  • 06Ofrece bindings para Python y una imagen de Docker preconstruida para el servidor.

Casos de uso

  • Crear un pipeline de RAG que indexe PDF y documentos en una base de datos vectorial.
  • Generar embeddings en máquinas locales o servidores en la nube sin instalar PyTorch.
  • Indexar grandes colecciones de archivos de buckets de S3 a medida que se procesan.
  • Implementar búsquedas híbridas que combinen embeddings densos y dispersos de SPLADE.

Inicio rápido

  1. 1

    Instala el paquete de Python siguiendo las instrucciones de la sección Installation del README

  2. 2

    Carga un modelo y genera un embedding de un archivo con el ejemplo de uso del README

Antes de usarlo

  • Los modelos en la nube, como Cohere, requieren tu propia clave de API.
  • Algunos modelos, como los de repositorios restringidos de Hugging Face, requieren un token de acceso.

Temas

Preguntas frecuentes

¿Qué es EmbedAnything?
Pipeline de embeddings en Rust que procesa texto, PDF, imágenes, audio y sitios web, genera embeddings localmente o con modelos en la nube y los envía a bases de datos vectoriales. EmbedAnything es un pipeline de embeddings escrito en Rust con bindings para Python. Procesa archivos de distintas fuentes, como texto, PDF, Markdown, imágenes, audio, sitios web y buckets de S3, los divide en fragmentos, genera embeddings y envía los resultados a una base de datos vectorial. Admite modelos de embeddings densos, dispersos (SPLADE), ONNX, Model2Vec y de interacción tardía (ColBERT, ColPali), además de rerankers.
¿EmbedAnything es gratuito? ¿Qué licencia tiene?
EmbedAnything es open source bajo la licencia Apache-2.0. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿EmbedAnything sigue mantenido?
Mantenimiento activo. El último commit de EmbedAnything fue el 26 oct 2026.
¿Para qué puedo usar EmbedAnything?
Crear un pipeline de RAG que indexe PDF y documentos en una base de datos vectorial. Generar embeddings en máquinas locales o servidores en la nube sin instalar PyTorch. Indexar grandes colecciones de archivos de buckets de S3 a medida que se procesan. Implementar búsquedas híbridas que combinen embeddings densos y dispersos de SPLADE.
¿Cómo se instala EmbedAnything?
Instala el paquete de Python siguiendo las instrucciones de la sección Installation del README Carga un modelo y genera un embedding de un archivo con el ejemplo de uso del README
¿Dónde consigo EmbedAnything?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/StarlightSearch/EmbedAnything

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados