Last updated:
0 purchases
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
For personal and professional use. You cannot resell or redistribute these repositories in their original state.
There are no reviews.