multiDocsQuery method

Future<MultiDocsQueryResultDto> multiDocsQuery(
  1. MultiDocsQueryRequestDto multiDocsQueryRequestDto
)

Implementation

Future<MultiDocsQueryResultDto> multiDocsQuery(MultiDocsQueryRequestDto multiDocsQueryRequestDto) async {
  Completer<TokenUsage> completer = Completer<TokenUsage>();
  LLMSettings llmSettings = LLMSettings(llmConfig: multiDocsQueryRequestDto.llmConfig.toModel(), listenToken: (TokenUsage tokenUsage) => completer.complete(tokenUsage));
  List<MultiDocsQuerySegment> multiDocsQueryResultList = await _vdb.multiQuery(
    multiDocsQueryRequestDto.docsIdList,
    multiDocsQueryRequestDto.queryText,
    llmSettings,
    nResults: multiDocsQueryRequestDto.nResults,
    removeDuplicates: multiDocsQueryRequestDto.removeDuplicates
  );
  TokenUsage tokenUsage = await completer.future;
  MultiDocsQueryResultDto multiDocsQueryResultDto = MultiDocsQueryResultDto(
      segmentResultList: multiDocsQueryResultList.map((multiDocsQuerySegment)=>MultiDocsQuerySegmentDto.fromModel(multiDocsQuerySegment)).toList(),
      tokenUsage: TokenUsageDto.fromModel(tokenUsage)
  );
  return multiDocsQueryResultDto;
}