workOnTask method
Future<void>
workOnTask(
- TaskExecutionContext context
)
override
Implementation
@override
Future<void> workOnTask(TaskExecutionContext context) async {
try {
List<List<double>> vectors = await FireRag.instance.embed.embedMultiple(
await Future.wait(chunks.map(getContent)),
);
await Future.wait(
chunks.mapIndexed((doc, index) => setVector(doc, vectors[index])),
);
await FireRag.instance.pushRecordProgress(
location: recordLocation,
deltaCoreCompleted: lod == 0 ? chunks.length : 0,
deltaDistilledCompleted: lod > 0 ? chunks.length : 0,
);
context.complete();
} catch (e, es) {
if (e.toString().contains("429")) {
context.backoff();
return;
}
context.fail(e.toString());
error(es);
}
}