batchQuery method
Implementation
Future<List<QueryResultDto>> batchQuery(BatchQueryRequestDto batchQueryRequestDto) async {
Completer<TokenUsage> completer = Completer<TokenUsage>();
LLMSettings llmSettings = LLMSettings(llmConfig: batchQueryRequestDto.llmConfig.toModel(), listenToken: (TokenUsage tokenUsage) => completer.complete(tokenUsage));
List<List<QuerySegmentResult>> segmentResultListList = await _vdb.query(batchQueryRequestDto.docsId, batchQueryRequestDto.queryTextList, llmSettings, nResults: batchQueryRequestDto.nResults);
TokenUsage tokenUsage = await completer.future;
List<QueryResultDto> queryResultDtoList = [];
for(int i=0; i< segmentResultListList.length; i++) {
List<QuerySegmentResult> segmentResultList = segmentResultListList[i];
List<SegmentResultDto> segmentResultDtoList = segmentResultList.map((segmentResult)=> SegmentResultDto.fromModel(segmentResult)).toList();
QueryResultDto queryResultDto = QueryResultDto(docsId: batchQueryRequestDto.docsId, segmentResultList: segmentResultDtoList, tokenUsage: TokenUsageDto.fromModel(tokenUsage));
queryResultDtoList.add(queryResultDto);
}
return queryResultDtoList;
}