pgvector

Last updated:

0 purchases

pgvector Image
pgvector Images
Add to Cart

Description:

pgvector

pgvector-dart #
pgvector support for Dart
Supports the postgres package

Getting Started #
Run:
dart pub add pgvector
copied to clipboard
And follow the instructions for your database library:

postgres

postgres #
Import the library
import 'package:pgvector/pgvector.dart';
copied to clipboard
Enable the extension
await connection.execute("CREATE EXTENSION IF NOT EXISTS vector");
copied to clipboard
Create a table
await connection.execute(
"CREATE TABLE items (id bigserial PRIMARY KEY, embedding vector(3))");
copied to clipboard
Insert vectors
await connection.execute(
"INSERT INTO items (embedding) VALUES (@a), (@b), (@c)",
substitutionValues: {
"a": pgvector.encode([1, 1, 1]),
"b": pgvector.encode([2, 2, 2]),
"c": pgvector.encode([1, 1, 2])
});
copied to clipboard
Get the nearest neighbors
List<List<dynamic>> results = await connection.query(
"SELECT id, embedding FROM items ORDER BY embedding <-> @embedding LIMIT 5",
substitutionValues: {
"embedding": pgvector.encode([1, 1, 1])
});
for (final row in results) {
print(row[0]);
print(pgvector.decode(row[1]));
}
copied to clipboard
See a full example
Contributing #
Everyone is encouraged to help improve this project. Here are a few ways you can help:

Report bugs
Fix bugs and submit pull requests
Write, clarify, or fix documentation
Suggest or add new features

To get started with development:
git clone https://github.com/pgvector/pgvector-dart.git
cd pgvector-dart
createdb pgvector_dart_test
dart test
copied to clipboard

License:

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Files In This Product:

Customer Reviews

There are no reviews.