Find answers from the community

s
F
Y
a
P
Updated last month

Flows

Has anyone tried the new LlamaIndex Workflow abstraction?

I find it quite interesting because using the Workflow abstraction requires for developers to be quite familiar with LlamaIndex's lower level abstractions (for e.g. llm.get_tool_calls_from_response(), manually load in chat conversations into memory, etc). Most of us will probably be aware of the RAG abstractions but not the agent ones because it's always just agent.chat(query). The ReAct agent example underscores the biggest difference: ReActAgent.from_tools() is just one line vs writing an entire ReAct agent workflow. If I were to write an agent using multiple RAG tools, would I have to write nested workflows?

I've not had the need to build agents from low level abstractions yet. Does the LlamaIndex team have a use case in mind when designing the "Workflow" abstraction?
L
t
5 comments
You can use any level of abstraction you want inside of it

The examples just implement lower level logic to make it more interesting (since people view these modules as black boxes most of the time, and have no idea what they do under the hood or how to customize them)
You could totally use an existing agent class inside a workflow for example
The main usecase it just providing a structured way to chain logic together (think langgraph, but better πŸ˜‰ )

We plan to convert a lot of existing modules to use workflows under the hood, integrate into the llama-agents repo, and many other goodies
I hate langgraph. always breaks my heart when I try building something with it haha
Lol that's fair. I'm not a fan of it either, so hopefully that means there's room to build something better 😁
Add a reply
Sign up and join the conversation on Discord