call method

  1. @override
Future<String> call({
  1. required Agent agent,
  2. required Map<String, dynamic> arguments,
})
override

Implementation

@override
Future<String> call({
  required Agent agent,
  required Map<String, dynamic> arguments,
}) async {
  QueryToolArgs qt = $QueryToolArgs.fromMap(arguments);
  VectorSpaceResult result = await vectorSpace.queryAll(qt.queries);
  StringBuffer buf = StringBuffer();
  buf.writeln("Found ${result.results.length} results: ");

  for (VectorResult i in result.results) {
    buf.write(
      "* ${i.metadata.isNotEmpty ? "(${i.metadata.entries.map((i) => "${i.key}=${i.value}")}): " : ""}${i.content}",
    );
  }

  return buf.toString();
}