Repolode
Dicklesworthstone

Dicklesworthstone/fast_vector_similarity

Biblioteca Rust para calcular medidas rápidas de similaridade entre vetores, com bindings para Python e intervalos de confiança por bootstrap.

Estrelas
429
Forks
27
Issues abertas
0
Último commit
há 5 dias

O que é?

Fast Vector Similarity é uma biblioteca Rust para calcular medidas de similaridade e dependência entre dois vetores numéricos, com bindings para Python publicados no PyPI. Ela é voltada a trabalhos de análise de dados e estatística, incluindo a comparação de embeddings de texto de alta dimensão gerados por LLMs.

A biblioteca implementa seis medidas: correlação de postos de Spearman, tau de Kendall, correlação de distância aproximada, uma medida de dependência de Jensen-Shannon, D de Hoeffding e informação mútua normalizada. Várias delas detectam dependências não lineares ou não monotônicas que a correlação simples não identifica. Os cálculos são paralelizados com rayon, o tau de Kendall conta inversões usando merge sort para reduzir a complexidade, e as operações com matrizes de distância usam operações vetorizadas de ndarray.

A biblioteca também oferece bootstrap: reamostra os dados repetidamente para estimar a distribuição de cada medida e produzir resultados mais robustos. A API Python expõe py_compute_vector_similarity_stats e py_compute_bootstrapped_similarity_stats, que retornam strings JSON.

Recursos principais

  • 01Seis medidas de similaridade e dependência: rho de Spearman, tau de Kendall, correlação de distância aproximada, dependência de Jensen-Shannon, D de Hoeffding e informação mútua normalizada.
  • 02Cálculo paralelo com rayon, que escala de acordo com o número de núcleos da CPU.
  • 03O tau de Kendall conta inversões usando merge sort, reduzindo a complexidade de O(n^2) para O(n log n).
  • 04Bootstrap com tamanho da amostra e número de iterações configuráveis para gerar estimativas robustas.
  • 05Bindings para Python retornam os resultados como strings JSON, para uso com Pandas e outras ferramentas Python.
  • 06Lida com vetores de alta dimensão, incluindo embeddings de LLM com 4096 dimensões.

Casos de uso

  • Ordenar embeddings de texto de LLM pela similaridade com uma frase de consulta.
  • Detectar dependências não lineares e não monotônicas entre duas variáveis.
  • Gerar estimativas de similaridade com intervalos de confiança por bootstrap, menos sensíveis a outliers.
  • Chamar as funções de similaridade diretamente de um projeto Rust para análise estatística.

Início rápido

  1. 1

    Instale o pacote Python pelo PyPI

    pip install fast_vector_similarity
  2. 2

    Adicione a biblioteca ao Cargo.toml do seu projeto Rust

  3. 3

    Chame py_compute_vector_similarity_stats pelo Python, como no exemplo do README

Antes de usar

  • Nenhuma licença foi especificada, portanto os direitos de uso não estão claros.

Em coleções

Tópicos

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

Perguntas frequentes

O que é fast_vector_similarity?
Biblioteca Rust para calcular medidas rápidas de similaridade entre vetores, com bindings para Python e intervalos de confiança por bootstrap. Fast Vector Similarity é uma biblioteca Rust para calcular medidas de similaridade e dependência entre dois vetores numéricos, com bindings para Python publicados no PyPI. Ela é voltada a trabalhos de análise de dados e estatística, incluindo a comparação de embeddings de texto de alta dimensão gerados por LLMs.
fast_vector_similarity é gratuito? Qual é a licença?
fast_vector_similarity não declara licença. O código é público, mas sem licença você não tem permissão explícita para reutilizá-lo; fale com o autor antes de depender dele.
fast_vector_similarity ainda é mantido?
Manutenção ativa. O último commit de fast_vector_similarity foi em 1 de nov. de 2026.
Para que posso usar fast_vector_similarity?
Ordenar embeddings de texto de LLM pela similaridade com uma frase de consulta. Detectar dependências não lineares e não monotônicas entre duas variáveis. Gerar estimativas de similaridade com intervalos de confiança por bootstrap, menos sensíveis a outliers. Chamar as funções de similaridade diretamente de um projeto Rust para análise estatística.
Como instalar fast_vector_similarity?
Instale o pacote Python pelo PyPI: pip install fast_vector_similarity Adicione a biblioteca ao Cargo.toml do seu projeto Rust Chame py_compute_vector_similarity_stats pelo Python, como no exemplo do README
Onde consigo fast_vector_similarity?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/Dicklesworthstone/fast_vector_similarity

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados