microsoft / semantic-kernel

Integrate cutting-edge LLM technology quickly and easily into your apps
https://aka.ms/semantic-kernel
MIT License
21.53k stars 3.17k forks source link

.Net: [Agents] Use ToolCallBehavior for tools calling in Agent #5200

Open SergeyMenshykh opened 7 months ago

SergeyMenshykh commented 7 months ago

Today, the chat completion API, used by ChatCompletionAgent, uses the tool-calling mechanism, the behavior (auto/manual/list of functions) of which is regulated by the ToolCallBehavior class. The Agent class uses its own function-calling mechanism, similar to the ToolCallBehavior.Auto behavior.

From the consumer code perspective, it would be beneficial if all agents use the same approach to tool-calling. This way, developers wouldn't need to know the specifics of each agent regarding function-calling and could use the method they are already familiar with instead.

This issue can be related to this one - .Net: [Agents] Support FunctionContent

stephentoub commented 7 months ago

We also need to generalize the tool calling stuff, which right now is mostly OpenAI-specific. But other models and services support functions/tools, so we should be looking at a more service-agnostic representation, which then presumably would also be what shows up in the agents surface area.

markwallace-microsoft commented 7 months ago

Related to https://github.com/microsoft/semantic-kernel/issues/5253

github-actions[bot] commented 3 months ago

This issue is stale because it has been open for 90 days with no activity.