retrieve method
The chunks most relevant to question.
Implementation
Future<List<RagSource>> retrieve(
String question, {
int? k,
Filter? filter,
}) async {
if (k != null && k <= 0) {
throw ArgumentError.value(k, 'k', 'must be positive');
}
final vector = await embedder.embedOne(
question,
purpose: EmbedPurpose.query,
);
final hits = await store.query(
CollectionQuery(
vector: vector,
text: hybrid ? question : null,
filter: filter,
k: k ?? this.k,
mmr: mmr,
),
);
return [for (var i = 0; i < hits.length; i++) RagSource(i + 1, hits[i])];
}