public void ConfigureServices(IServiceCollection services)
{
    // .. commented by brevity
    
    // Add connected services
    var connectedServices = InitBotServices(botConfig);
    services.AddSingleton(connectedServices);
    
    // ..
}

private BotServices InitBotServices(BotConfiguration botConfig)
{
    var connectedServices = new BotServices();

    foreach (var service in botConfig.Services)
    {
       switch (service.Type)
       {
          case ServiceTypes.QnA:

          var qna = service as QnAMakerService;
          var qnaEndpoint = new QnAMakerEndpoint()
          {
             KnowledgeBaseId = qna.KbId,
             EndpointKey = qna.EndpointKey,
             Host = qna.Hostname
          };

          var qnaMaker = new QnAMaker(qnaEndpoint);
          connectedServices.QnAServices.Add(qna.Name, qnaMaker);

          break;
        }
     }

    return connectedServices;
}