diff --git a/docs/decisions/0041-function-call-content.md b/docs/decisions/0041-function-call-content.md index cdd86619f877..5ad1b730b8a6 100644 --- a/docs/decisions/0041-function-call-content.md +++ b/docs/decisions/0041-function-call-content.md @@ -356,7 +356,7 @@ foreach (FunctionCallContent functionCall in functionCalls) Questions: - How to pass the original `FunctionCallContent` to connectors along with the function result. It's actually not clear atm whether it's needed or not. The current rationale is that some models might expect properties of the original function call, such as arguments, to be passed back to the LLM along with the function result. An argument can be made that the original function call can be found in the chat history by the connector if needed. However, a counterargument is that it may not always be possible because the chat history might be truncated to save tokens, reduce hallucination, etc. - How to pass function id to connector? -- How to communicate exception to the connectors? It was proposed to add the `Exception` property the the `FunctionResult` class that will always be assigned by the `KernelFunction.InvokeAsync` method. However, this change will break C# function calling semantic, where the function should be executed if the contract is satisfied, or an exception should be thrown if the contract is not fulfilled. +- How to communicate exception to the connectors? It was proposed to add the `Exception` property to the `FunctionResult` class that will always be assigned by the `KernelFunction.InvokeAsync` method. However, this change will break C# function calling semantic, where the function should be executed if the contract is satisfied, or an exception should be thrown if the contract is not fulfilled. - If `FunctionResult` becomes a non-steaming content by inheriting `KernelContent` class, how the `FunctionResult` can represent streaming content capabilities represented by the `StreamingKernelContent` class when/if it needed later? C# does not support multiple inheritance. **Pros**