Repolode
Dicklesworthstone

Dicklesworthstone/fast_vector_similarity

Biblioteca de Rust para calcular medidas de similitud entre vectores con rapidez, con bindings de Python e intervalos de confianza mediante bootstrap.

Estrellas
429
Forks
27
Issues abiertos
0
Último commit
hace 5 días

¿Qué es?

Fast Vector Similarity es una biblioteca de Rust para calcular medidas de similitud y dependencia entre dos vectores numéricos, con bindings de Python publicados en PyPI. Está orientada al análisis de datos y al trabajo estadístico, incluida la comparación de embeddings de texto de alta dimensionalidad generados por LLMs.

Implementa seis medidas: correlación de rangos de Spearman, tau de Kendall, correlación de distancia aproximada, una medida de dependencia de Jensen-Shannon, D de Hoeffding e información mutua normalizada. Varias de ellas detectan dependencias no lineales o no monótonas que una correlación simple no detecta. Los cálculos se paralelizan con rayon; tau de Kendall cuenta las inversiones mediante merge sort para reducir la complejidad, y los cálculos de matrices de distancia usan operaciones vectorizadas de ndarray.

La biblioteca también ofrece bootstrapping: remuestrea los datos de forma repetida para estimar la distribución de cada medida y obtener resultados más robustos. La API de Python expone py_compute_vector_similarity_stats y py_compute_bootstrapped_similarity_stats, que devuelven cadenas JSON.

Funciones clave

  • 01Seis medidas de similitud y dependencia: rho de Spearman, tau de Kendall, correlación de distancia aproximada, dependencia de Jensen-Shannon, D de Hoeffding e información mutua normalizada.
  • 02Cálculo paralelo con rayon, que escala según el número de núcleos de CPU.
  • 03Tau de Kendall cuenta las inversiones mediante merge sort, lo que reduce la complejidad de O(n^2) a O(n log n).
  • 04Bootstrapping con tamaño de muestra y número de iteraciones configurables para obtener estimaciones robustas.
  • 05Los bindings de Python devuelven los resultados como cadenas JSON para usarlos con Pandas y otras herramientas de Python.
  • 06Admite vectores de alta dimensionalidad, incluidos embeddings de LLM de 4096 dimensiones.

Casos de uso

  • Ordenar embeddings de texto de LLM según su similitud con una frase de consulta.
  • Detectar dependencias no lineales y no monótonas entre dos variables.
  • Obtener estimaciones de similitud con intervalos de confianza mediante bootstrap, menos sensibles a los valores atípicos.
  • Llamar directamente a las funciones de similitud desde un proyecto de Rust para realizar análisis estadísticos.

Inicio rápido

  1. 1

    Instala el paquete de Python desde PyPI

    pip install fast_vector_similarity
  2. 2

    Añade la biblioteca al Cargo.toml de tu proyecto de Rust

  3. 3

    Llama a py_compute_vector_similarity_stats desde Python, como en el ejemplo del README

Antes de usarlo

  • No se especifica ninguna licencia, por lo que los derechos de uso no están claros.

En colecciones

Temas

#rust#vector-similarity#statistics#embeddings#python-bindings#llm#correlation#bootstrap#embedding-vectors#similarity

Preguntas frecuentes

¿Qué es fast_vector_similarity?
Biblioteca de Rust para calcular medidas de similitud entre vectores con rapidez, con bindings de Python e intervalos de confianza mediante bootstrap. Fast Vector Similarity es una biblioteca de Rust para calcular medidas de similitud y dependencia entre dos vectores numéricos, con bindings de Python publicados en PyPI. Está orientada al análisis de datos y al trabajo estadístico, incluida la comparación de embeddings de texto de alta dimensionalidad generados por LLMs.
¿fast_vector_similarity es gratuito? ¿Qué licencia tiene?
fast_vector_similarity no declara ninguna licencia. Su código es público, pero sin licencia no tienes permiso explícito para reutilizarlo; consulta al autor antes de depender de él.
¿fast_vector_similarity sigue mantenido?
Mantenimiento activo. El último commit de fast_vector_similarity fue el 1 nov 2026.
¿Para qué puedo usar fast_vector_similarity?
Ordenar embeddings de texto de LLM según su similitud con una frase de consulta. Detectar dependencias no lineales y no monótonas entre dos variables. Obtener estimaciones de similitud con intervalos de confianza mediante bootstrap, menos sensibles a los valores atípicos. Llamar directamente a las funciones de similitud desde un proyecto de Rust para realizar análisis estadísticos.
¿Cómo se instala fast_vector_similarity?
Instala el paquete de Python desde PyPI: pip install fast_vector_similarity Añade la biblioteca al Cargo.toml de tu proyecto de Rust Llama a py_compute_vector_similarity_stats desde Python, como en el ejemplo del README
¿Dónde consigo fast_vector_similarity?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/Dicklesworthstone/fast_vector_similarity

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

Proyectos relacionados