Pgvector 0.1.1

pgvector-dotnet

pgvector support for C#

Supports Npgsql

Build Status

Getting Started

Run:

dotnet add package Pgvector

And follow the instructions for your database library:

Npgsql

Import the library

using Pgvector.Npgsql;

Create a table

await using (var cmd = new NpgsqlCommand("CREATE TABLE items (embedding vector(3))", conn))
{
    await cmd.ExecuteNonQueryAsync();
}

Insert a vector

await using (var cmd = new NpgsqlCommand("INSERT INTO items (embedding) VALUES ($1)", conn))
{
    var embedding = new Vector(new float[] { 1, 1, 1 });
    cmd.Parameters.AddWithValue(embedding);
    await cmd.ExecuteNonQueryAsync();
}

Get the nearest neighbors

await using (var cmd = new NpgsqlCommand("SELECT * FROM items ORDER BY embedding <-> $1 LIMIT 5", conn))
{
    var embedding = new Vector(new float[] { 1, 1, 1 });
    cmd.Parameters.AddWithValue(embedding);

    await using (var reader = await cmd.ExecuteReaderAsync())
    {
        while (await reader.ReadAsync())
            Console.WriteLine((Vector) reader.GetValue(0));
    }
}

Add an approximate index

await using (var cmd = new NpgsqlCommand("CREATE INDEX my_index ON items USING ivfflat (embedding vector_l2_ops)", conn))
{
    await cmd.ExecuteNonQueryAsync();
}

Use vector_ip_ops for inner product and vector_cosine_ops for cosine distance

See a full example

Contributing

Everyone is encouraged to help improve this project. Here are a few ways you can help:

To get started with development:

git clone https://github.com/pgvector/pgvector-dotnet.git
cd pgvector-dotnet
createdb pgvector_dotnet_test
dotnet test

Showing the top 20 packages that depend on Pgvector.

Packages Downloads
WillowMedia.Orm.Npgsql
Package Description
105
WillowMedia.Orm.Npgsql
Package Description
84
WillowMedia.Orm.Npgsql
Package Description
75
WillowMedia.Orm.Npgsql
Package Description
69
WillowMedia.Orm.Npgsql
Package Description
40
WillowMedia.Orm.Npgsql
Package Description
35
WillowMedia.Orm.Npgsql
Package Description
29
WillowMedia.Orm.Npgsql
Package Description
28
WillowMedia.Orm.Npgsql
Package Description
24
WillowMedia.Orm.Npgsql
Package Description
19
WillowMedia.Orm.Npgsql
Package Description
17
WillowMedia.Orm.Npgsql
Package Description
11
WillowMedia.Orm.Npgsql
Package Description
7
WillowMedia.Orm.Npgsql
Package Description
6
WillowMedia.Orm.Npgsql
Package Description
5
WillowMedia.Orm.Npgsql
Package Description
4

.NET 7.0

Version Downloads Last updated
0.3.2 161 06/04/2025
0.3.1 4 06/28/2025
0.3.0 4 06/28/2025
0.2.0 4 06/28/2025
0.2.0-rc.2 4 06/28/2025
0.2.0-rc.1 4 06/28/2025
0.1.4 4 06/28/2025
0.1.3 4 06/28/2025
0.1.2 4 06/28/2025
0.1.1 4 06/28/2025
0.1.0 5 06/28/2025