love_db 1.0.0 copy "love_db: ^1.0.0" to clipboard
love_db: ^1.0.0 copied to clipboard

Local vector database for Flutter apps with on-device SQLite storage, HNSW ANN search, and a simple collections API for managing and querying embeddings.

example/lib/main.dart

import 'dart:convert';

import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:love_db/love_db.dart';
import 'package:love_db/model/metric.dart';
import 'package:love_db/model/search_mode.dart';
import 'package:nanoid/nanoid.dart';

void main() async {
  WidgetsFlutterBinding.ensureInitialized();

  String content = await rootBundle.loadString("assets/embeddings.json");
  Map<String, dynamic> verbsWithEmbeddings = json.decode(content);
  final dbEmbeddings = verbsWithEmbeddings["db"].map(
      (key, value) => MapEntry(key, List<double>.from(value)),
  );
  final queryEmbeddings = verbsWithEmbeddings["query"].map(
      (key, value) => MapEntry(key, List<double>.from(value)),
  );

  final loveDB = LoVeDB(
    dimension: 1536,
    metric: Metric.cosine,
    mode: SearchMode.hnsw,
  );

  var collection = await loveDB.collection("the_name");
  for (var entry in dbEmbeddings.entries) {
    await collection.insert(id: nanoid(), vector: entry.value, text: entry.key);
  }

  for (var entry in queryEmbeddings.entries) {
    print("Searching '${entry.key}'");
    var results = await collection.find(vector: entry.value, limit: 2);
    for (var element in results) {
      print("${element.id}: ${element.text}");
    }
  }

  await loveDB.dropCollection("the_name");
}
0
likes
140
points
105
downloads

Documentation

Documentation
API reference

Publisher

unverified uploader

Weekly Downloads

Local vector database for Flutter apps with on-device SQLite storage, HNSW ANN search, and a simple collections API for managing and querying embeddings.

Repository (GitHub)
View/report issues

Topics

#database #vector-database #embeddings #similarity-search #flutter

License

MIT (license)

Dependencies

flutter, local_hnsw, nanoid, path, path_provider, sqflite

More

Packages that depend on love_db