-
Notifications
You must be signed in to change notification settings - Fork 4.6k
Some issues related to support for an Agent declarative format #10237
Copy link
Copy link
Closed
Labels
.NETIssue or Pull requests regarding .NET codeIssue or Pull requests regarding .NET codeBuildFeatures planned for next Build conferenceFeatures planned for next Build conferenceagentsexperimentalAssociated with an experimental featureAssociated with an experimental featurequestionFurther information is requestedFurther information is requestedsk team issueA tag to denote issues that where created by the Semantic Kernel team (i.e., not the community)A tag to denote issues that where created by the Semantic Kernel team (i.e., not the community)staleIssue is stale because it has been open for a while and has no activityIssue is stale because it has been open for a while and has no activity
Metadata
Metadata
Assignees
Labels
.NETIssue or Pull requests regarding .NET codeIssue or Pull requests regarding .NET codeBuildFeatures planned for next Build conferenceFeatures planned for next Build conferenceagentsexperimentalAssociated with an experimental featureAssociated with an experimental featurequestionFurther information is requestedFurther information is requestedsk team issueA tag to denote issues that where created by the Semantic Kernel team (i.e., not the community)A tag to denote issues that where created by the Semantic Kernel team (i.e., not the community)staleIssue is stale because it has been open for a while and has no activityIssue is stale because it has been open for a while and has no activity
Type
Projects
Status
No status
1. Use KernelFunction return value
The default
KernelFunctionTerminationStrategy.ResultParseris:public Func<FunctionResult, bool> ResultParser { get; init; } = (_) => true;If the
KernelFunctionreturns false then this will override this return value and cause termination.Why doesn't the default implementation change the function result?
2. Pass
AgentandChatHistoryinKernelArgumentsConsider this code
It would be more convenient to:
Agentinstance rather than the name or idChatHistoryrather than a string (which cannot be parsed back into a ChatHistoryKernelFunctionswhich has a signature which takes typedAgentandChatHistoryparameters3. Should we have a standard way to Invoke an
AgentWhen we support declarative agents the follow will look something like this
Agentinstance from a file which contains a declarative definition of anAgentAgentinstance optionally using a provided input and other argumentsAgentinstance again and maintain contextHere's some psuedo code:
At the moment the code to "Invoke" a
ChatCompletionAgentversus aOpenAIAssistantAgentis different. Should we have an abstraction in the Agent framework that allows us to standardise?