Semantic Kernel supports registering multiple text generation and embedding services using serviceId and modelId.When executing kernel functions or prompts, 'serviceId' and 'modelId' can be passed into 'PromptExecutionSettings'.When registering chat completion services, if serviceId is provided, Semantic Kernel also registers chat completion services as keyed.All AI-related services implement the IAIService interface, and custom IAIServiceSelector can be implemented for full control over service selection.