So, it feels like this should exist. But I couldn't find it. So I tried to build it.<p>Agentflow lets you run complex LLM workflows from a simple JSON file. This can be as little as a list of tasks. Tasks can include variables, so you can reuse workflows for different outputs by providing different variable values. They can also include custom functions, so you can go beyond text generation to do anything you want to write a function for.<p>Someone might say: "Why not just use ChatGPT?" Among other reasons, I'd say that you can't template a workflow with ChatGPT, trigger it with different variable values, easily add in custom functions, or force the use of custom functions for steps in the workflow.<p>Someone might also say: "Then why not use Auto-GPT or BabyAGI?" Among other reasons, I'd say you can't if you want consistency because these tools operate autonomously, creating and executing their own tasks. Agentflow, on the other and, lets you define a step-by-step workflow to give you more control.<p>I'd like to do more with this, including adding more custom functions, and more examples, and more ways to trigger workflows (such as in response to events). But first, I want to make sure I'm not wasting my time! For starters, if something like this already exists, please tell me.
Y'all should team up with the Magic Loop folks: <a href="https://news.ycombinator.com/item?id=36958731">https://news.ycombinator.com/item?id=36958731</a><p>And if you want to talk to a bunch of APIs: <a href="https://news.ycombinator.com/item?id=37020783">https://news.ycombinator.com/item?id=37020783</a>
Seems cool. Seems a little like an open source version of Step Functions you only need python to run.<p>I did a similar, rudimentary, version where I save the JSON in DynamoDB and the tasks indicate how to transform tabular (Excel, CSV) data. From renaming columns, adding columns, and transposing columns into new rows.
This is really cool! I’m doing something similar with Lemon Agent (<a href="https://github.com/felixbrock/lemon-agent">https://github.com/felixbrock/lemon-agent</a>). What I find most powerful about defining workflows in a json file is that you can add additional fields to let the LLM know about specific execution requirements, like asking the user for permission before executing a specific workflow step. This allows for infinite configuration options. Curious to hear if you already experimented with something like this or if you are planning to include something similar?
I'm trying to understand what this does and how it works. Can you provide more examples with different use cases? How does this work with / compare to LangChain?
kinda reminds me of dagster or langchain. do you anticipate building a huge library of functions like 'save_file' that would add up to a library or is that intended to be left to the reader? if the latter, the fact that this is based on json feels kinda moot.