createDocs method

Implementation

Future<CreateDocsResultDto> createDocs(CreateDocsRequestDto docsDto) async {
  List<Segment> segmentList = [];

  for (SegmentDto segmentDto in docsDto.segmentList) {
    segmentList.add(segmentDto.toModel());
  }

  Completer<TokenUsage> completer = Completer<TokenUsage>();
  LLMSettings llmSettings = LLMSettings(llmConfig: docsDto.llmConfig.toModel(), listenToken: (TokenUsage tokenUsage) => completer.complete(tokenUsage));
  CollectionInfo collectionInfo = await _vdb.createCollection(docsDto.docsName, segmentList, llmSettings);
  TokenUsage tokenUsage = await completer.future;

  CreateDocsResultDto createDocsResultDto = CreateDocsResultDto(docsId: collectionInfo.name, docsName: collectionInfo.docsName, tokenUsage: TokenUsageDto.fromModel(tokenUsage));

  return createDocsResultDto;
}