Repolode
Dicklesworthstone

Dicklesworthstone/fast_vector_similarity

Библиотека на Rust для быстрого вычисления метрик сходства векторов, с привязками для Python и бутстрэп-интервалами уверенности.

Звёзды
429
Форки
27
Открытые issues
0
Последний коммит
6 дней назад

Что это?

Fast Vector Similarity — библиотека на Rust для вычисления метрик сходства и зависимости между двумя числовыми векторами. Привязки для Python опубликованы на PyPI. Библиотека предназначена для анализа данных и статистических задач, в том числе для сравнения высокоразмерных текстовых эмбеддингов от LLM.

В библиотеке реализовано шесть метрик: ранговая корреляция Спирмена, тау Кендалла, приближённая дистанционная корреляция, мера зависимости Дженсена — Шеннона, D Хёффдинга и нормализованная взаимная информация. Некоторые из них выявляют нелинейные или немонотонные зависимости, которые обычная корреляция не обнаруживает. Вычисления распараллелены с помощью rayon, тау Кендалла подсчитывает инверсии с помощью сортировки слиянием, что снижает сложность, а операции с матрицами расстояний используют векторизованные операции ndarray.

Библиотека также поддерживает бутстрэп: многократно пересэмплирует данные, чтобы оценить распределение каждой метрики и получить более надёжные результаты. Python API предоставляет функции py_compute_vector_similarity_stats и py_compute_bootstrapped_similarity_stats; обе возвращают JSON-строки.

Ключевые возможности

  • 01Шесть метрик сходства и зависимости: ро Спирмена, тау Кендалла, приближённая дистанционная корреляция, мера зависимости Дженсена — Шеннона, D Хёффдинга и нормализованная взаимная информация.
  • 02Параллельные вычисления с помощью rayon, масштабируемые в соответствии с числом ядер CPU.
  • 03Тау Кендалла подсчитывает инверсии с помощью сортировки слиянием, снижая сложность с O(n^2) до O(n log n).
  • 04Бутстрэп с настраиваемым размером выборки и числом итераций для получения надёжных оценок.
  • 05Привязки для Python возвращают результаты в виде JSON-строк, которые можно использовать с Pandas и другими инструментами Python.
  • 06Работа с высокоразмерными векторами, включая эмбеддинги LLM размерностью 4096.

Сценарии использования

  • Ранжирование текстовых эмбеддингов LLM по сходству с предложением-запросом.
  • Выявление нелинейной и немонотонной зависимости между двумя переменными.
  • Получение оценок сходства с бутстрэп-интервалами уверенности, менее чувствительных к выбросам.
  • Вызов функций сходства напрямую из проекта на Rust для статистического анализа.

Быстрый старт

  1. 1

    Установите пакет Python из PyPI

    pip install fast_vector_similarity
  2. 2

    Добавьте библиотеку в Cargo.toml вашего проекта на Rust

  3. 3

    Вызовите py_compute_vector_similarity_stats из Python, как в примере README

Что важно знать

  • Лицензия не указана, поэтому права на использование неясны.

В подборках

Темы

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

Частые вопросы

Что такое fast_vector_similarity?
Библиотека на Rust для быстрого вычисления метрик сходства векторов, с привязками для Python и бутстрэп-интервалами уверенности. Fast Vector Similarity — библиотека на Rust для вычисления метрик сходства и зависимости между двумя числовыми векторами. Привязки для Python опубликованы на PyPI. Библиотека предназначена для анализа данных и статистических задач, в том числе для сравнения высокоразмерных текстовых эмбеддингов от LLM.
fast_vector_similarity можно использовать бесплатно? Какая у него лицензия?
У fast_vector_similarity не указана лицензия. Код открыт, но без лицензии нет явного разрешения на его использование — уточните у автора, прежде чем на него полагаться.
fast_vector_similarity всё ещё поддерживается?
Активно поддерживается. Последний коммит в fast_vector_similarity — 1 нояб. 2026 г..
Для чего можно использовать fast_vector_similarity?
Ранжирование текстовых эмбеддингов LLM по сходству с предложением-запросом. Выявление нелинейной и немонотонной зависимости между двумя переменными. Получение оценок сходства с бутстрэп-интервалами уверенности, менее чувствительных к выбросам. Вызов функций сходства напрямую из проекта на Rust для статистического анализа.
Как установить fast_vector_similarity?
Установите пакет Python из PyPI: pip install fast_vector_similarity Добавьте библиотеку в Cargo.toml вашего проекта на Rust Вызовите py_compute_vector_similarity_stats из Python, как в примере README
Где скачать fast_vector_similarity?
Исходный код и инструкции по установке — на GitHub: https://github.com/Dicklesworthstone/fast_vector_similarity

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты