What is the difference between FunctionCallingAgent and FunctionAgent #17687
Replies: 2 comments
-
Hello @nguyenkien1402! I'm here to help you with any questions or issues you have. Let's tackle this FunctionAgent and FunctionCallingAgent difference together! The
Combining them could potentially leverage the strengths of both: the context management and flexibility of To continue talking to Dosu, mention @dosu. Help Dosu learn! Give it feedback: Great Response | Irrelevant Answer | Incorrect Sources | Too Verbose | Hallucination | Other |
Beta Was this translation helpful? Give feedback.
-
@nguyenkien1402 The They are not meant to be combined, they are doing the same thing, just in different ways. You can always create a single workflow agent and use that inside of other workflows, or on its own.
Or alternatively
(The above do the same thing) Then, you can just use it
This is functionally the same as using FunctionCallingAgent |
Beta Was this translation helpful? Give feedback.
-
I'm reading the new development from the LlamaIndex workflow and come across the new implementation
from llama_index.core.agent.workflow import FunctionAgent
I'm curious on what is the main difference between this FunctionAgent and FunctionCallingAgent from core?
From what I see in the example
FunctionAgent seems to play very well with Agent Workflow so it is more freestyle that let agent to choose and do based on the system prompt
FunctionCallingAgent on the other hand, more like tools calling and can live inside the workflow
I like the idea of can_handoff_to in the FunctionCalling and would be great if we can discuss to possbility to have FunctionAgent to work with LlamaIndex Workflow. I also like the context management of the FunctionAgent.
It seems like FunctionAgent only work with AgentWorkflow?
How can we combine them?
Beta Was this translation helpful? Give feedback.
All reactions