Build5Nines.SharpVector
2.0.1
dotnet add package Build5Nines.SharpVector --version 2.0.1
NuGet\Install-Package Build5Nines.SharpVector -Version 2.0.1
<PackageReference Include="Build5Nines.SharpVector" Version="2.0.1" />
<PackageVersion Include="Build5Nines.SharpVector" Version="2.0.1" />
<PackageReference Include="Build5Nines.SharpVector" />
paket add Build5Nines.SharpVector --version 2.0.1
#r "nuget: Build5Nines.SharpVector, 2.0.1"
#addin nuget:?package=Build5Nines.SharpVector&version=2.0.1
#tool nuget:?package=Build5Nines.SharpVector&version=2.0.1
Build5Nines.SharpVector is a lightweight in-memory Vector Database for use in any .NET application.
The Build5Nines.SharpVector.BasicMemoryVectorDatabase
class uses a Bag of Words vectorization strategy, with Cosine similarity, a dictionary vocabulary store, and a basic text preprocessor.
Example Usage: Load and Search Vector Database
// Create a Vector Database with metadata of type string
var vdb = new BasicMemoryVectorDatabase();
// The Metadata is declared using generics, so you can store whatever data you need there.
// Load Vector Database with some sample text data
// Text is the movie description, and Metadata is the movie title with release year in this example
vdb.AddText("Iron Man (2008) is a Marvel Studios action, adventure, and sci-fi movie about Tony Stark (Robert Downey Jr.), a billionaire inventor and weapons developer who is kidnapped by terrorists and forced to build a weapon. Instead, Tony uses his ingenuity to build a high-tech suit of armor and escape, becoming the superhero Iron Man. He then returns to the United States to refine the suit and use it to fight crime and terrorism.", "Iron Man (2008)");
vdb.AddText("The Lion King is a 1994 Disney animated film about a young lion cub named Simba who is the heir to the throne of an African savanna.", "The Lion King (1994)");
vdb.AddText("Aladdin is a 2019 live-action Disney adaptation of the 1992 animated classic of the same name about a street urchin who finds a magic lamp and uses a genie's wishes to become a prince so he can marry Princess Jasmine.", "Alladin (2019)");
vdb.AddText("The Little Mermaid is a 2023 live-action adaptation of Disney's 1989 animated film of the same name. The movie is about Ariel, the youngest of King Triton's daughters, who is fascinated by the human world and falls in love with Prince Eric.", "The Little Mermaid");
vdb.AddText("Frozen is a 2013 Disney movie about a fearless optimist named Anna who sets off on a journey to find her sister Elsa, whose icy powers have trapped their kingdom in eternal winter.", "Frozen (2013)");
// Perform a Vector Search
var result = vdb.Search(newPrompt, pageCount: 5); // return the first 5 results
if (result.HasResults)
{
Console.WriteLine("Similar Text Found:");
foreach (var item in result.Texts)
{
Console.WriteLine(item.Metadata);
Console.WriteLine(item.Text);
}
}
Example Usage: Loading with Different Text Chunking Methods
Also, the TextDataLoader
can be used to help load text documents into the Vector Database with support for multiple different text chunking methods:
/// Paragraph Chunking
var loader = new TextDataLoader<int, string>(vdb);
loader.AddDocument(document, new TextChunkingOptions<string>
{
Method = TextChunkingMethod.Paragraph,
RetrieveMetadata = (chunk) => {
// add some basic metadata since this can't be null
return "{ chuckSize: \"" + chunk.Length + "\" }";
}
});
Tutorials
Here's a couple helpful tutorial links with additional documentation and examples on using Build5Nines.SharpVector
in your own projects:
- Perform Vector Database Similarity Search in .NET Apps using Build5Nines.SharpVector by Chris Pietschmann
- Build a Generative AI + RAG App in C# with Phi-3, ONNX, and SharpVector by Chris Pietschmann
- Implementing Local RAG using Phi-3 ONNX Runtime and Sidecar Pattern on Linux App Service by Tulika Chaudharie (Principal Product Manager at Microsoft for Azure App Service)
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. |
-
net8.0
- No dependencies.
NuGet packages (2)
Showing the top 2 NuGet packages that depend on Build5Nines.SharpVector:
Package | Downloads |
---|---|
Noetix.Knowledge.SharpVector
A .NET library for creating AI assistants and agents |
|
Build5Nines.SharpVector.OpenAI
Lightweight In-memory Vector Database to embed in any .NET Applications that integrates with OpenAI Embedding model for vector generation. |
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
2.0.1 | 190 | 3/17/2025 |
2.0.0 | 235 | 2/23/2025 |
1.0.1 | 257 | 2/6/2025 |
1.0.0 | 1,760 | 5/24/2024 |
0.9.8-beta | 99 | 5/20/2024 |
0.9.5-beta | 89 | 5/19/2024 |
0.9.0-beta | 87 | 5/18/2024 |
0.8.0-beta | 93 | 5/18/2024 |