O HyperVectordB é um banco de dados de vetor local construído em C# que suporta várias medidas de distância/similaridade. Ele foi projetado para armazenar vetores e documentos associados e executar consultas vetoriais de alto desempenho. Este projeto suporta a similaridade de cosseno, a dissimilaridade de Jaccard, bem como as distâncias euclidianas, Manhattan, Chebyshev e Canberra. Se você está procurando uma biblioteca Python para fazer a mesma coisa, confira John Dagdelen https://github.com/jdagdelen/hyperdb
dotnet add package HyperVectorDB
Cada função de consulta retorna os documentos principais k e seus valores correspondentes de similaridade ou distância. O valor de k é configurável e padrão para 5.
Observe que este projeto está atualmente em sua fase de desenvolvimento. Algumas funções ainda precisam ser testadas e o cache para alguns tipos de consulta ainda não foi implementado.
Exemplo de uso em breve
Contribuições são bem -vindas. Sinta -se à vontade para bifurcar o projeto, fazer alterações e abrir uma solicitação de tração. Certifique -se de testar todas as alterações minuciosamente.
Este projeto é de código aberto. Liberado sob a licença do MIT. Consulte o arquivo de licença para obter mais informações.
Observe que parte do código deste projeto (Math.CS) é baseado na biblioteca ACORD.MATH, que é divulgada sob a licença pública geral da GNU V2.1 License. O TFIDF é do projeto de Kory Becker localizado em https://github.com/primaryobjects/tfidf
Começou comigo voltando à intelegência artificial e querendo fazê -lo usando C#. Não consegui encontrar nada que obtenha minhas necessidades de um banco de dados vetorial. Em seguida, John Dagdelen montou esta loja de vetores em Python https://github.com/jdagdelen/hyperdb, foi Faily Basic na época postado sem essas linhas de código, então decidi tentar usar o GPT para portá -lo para C#. Isso foi um pouco bem -sucedido, mas não funcionou exatamente conforme necessário, então este projeto nasceu.