Dotnet: Add modelServiceId support to SemanticKernelAgent #5422
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The
SemanticKernelAgent
class has been updated to include an optionalmodelServiceId
parameter, allowing the specification of a service ID for the model.Why are these changes needed?
Currently,
SemanticKernelAgent
uses the parameterless method for resolvingIChatCompletionSerivce
. This will fail, when multiple models are registered in the Kernel.To support different models registered in the Kernel, I adopted the resolving of the
IChatCompletionSerivce
within theSemanticKernelAgent
with an optional parameter. When it is not set, I resolve the default instance, otherwise, I use the optional parameter as a servide id for resolving theIChatCompletionSerivce
service.Related issue number
Checks