HypervectordB est une base de données vectorielle locale intégrée en C # qui prend en charge diverses mesures de distance / similitude. Il est conçu pour stocker des vecteurs et des documents associés et effectuer des requêtes vectorielles haute performance. Ce projet soutient la similitude du cosinus, la dissimilarité de Jaccard, ainsi que les distances euclidiennes, Manhattan, Chebyshev et Canberra. Si vous cherchez une bibliothèque Python pour faire la même chose, consultez John Dagdelen https://github.com/jdagdelen/hyperdb
dotnet add package HyperVectorDB
Chaque fonction de requête renvoie les k supérieurs et leurs valeurs de similitude ou de distance correspondantes. La valeur de k est configurable et par défaut 5.
Veuillez noter que ce projet est actuellement dans sa phase de développement. Certaines fonctions doivent encore être testées et la mise en cache pour certains types de requête reste à implémenter.
Exemple d'utilisation à la vente bientôt
Les contributions sont les bienvenues. N'hésitez pas à alimenter le projet, à apporter des modifications et à ouvrir une demande de traction. Veuillez vous assurer de tester soigneusement toutes les modifications.
Ce projet est open-source. Libéré sous la licence du MIT. Veuillez consulter le fichier de licence pour plus d'informations.
Veuillez noter qu'une partie du code de ce projet (math.cs) est basée sur la bibliothèque Acord.math qui est publiée sous la licence GNU Leser General Public Licence v2.1. TFIDF est du projet de Kory Becker situé à https://github.com/primaryobjects/tfidf
Cela a commencé avec moi en me retournant dans l'intellence artificielle et en voulant le faire en utilisant C #. Je n'ai pas pu trouver quoi que ce soit qui répondrait à mes besoins pour une base de données vectorielle. Ensuite, John Dagdelen a mis en place ce magasin vectoriel dans Python https://github.com/jdagdelen/hyperdb, il était basique défaillant à l'époque publié sans autant de lignes de code, j'ai donc décidé d'essayer de l'utiliser pour le porter en C #. Cela a été quelque peu réussi, mais cela n'a pas tout à fait fonctionné au besoin, donc ce projet est né.