query method

  1. @override
Future<VectorSpaceResult> query(
  1. String query, {
  2. int maxResults = 10,
  3. List<String> records = const [],
})
override

Implementation

@override
Future<VectorSpaceResult> query(
  String query, {
  int maxResults = 10,
  List<String> records = const [],
}) async {
  if (await getCollection() == null) {
    return const VectorSpaceResult(results: []);
  }

  DenseVector openAiVector = await onEmbed([query]).then((v) => v.first);
  QueryResponse res = await points.query(
    buildQuery(openAiVector: openAiVector, maxResults: maxResults),
  );

  return VectorSpaceResult(
    results: await Future.wait([
      for (ScoredPoint i in res.result)
        _toVectorResult(i.id, i.payload, score: i.score),
    ]),
  );
}