baked method

VectorSpaceResult baked({
  1. int maxTokens = 50000,
  2. int maxResults = 100,
})

Implementation

VectorSpaceResult baked({int maxTokens = 50000, int maxResults = 100}) {
  List<VectorResult> r = results.toList();
  r.sort((a, b) => b.score.compareTo(a.score));

  int tc() => r.fold(
    0,
    (previousValue, element) => previousValue + element.contentTokenCount,
  );

  while (tc() > maxTokens) {
    r.removeLast();
  }

  if (r.length > maxResults) {
    r = r.sublist(0, maxResults);
  }

  return VectorSpaceResult(results: r);
}