Docs: add agent starter flows (#3969)

This commit is contained in:
Mendon Kissling 2024-10-09 11:01:50 -04:00 committed by GitHub
commit 09fbcb2a16
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
6 changed files with 454 additions and 0 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 232 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 406 KiB

View file

@ -0,0 +1,49 @@
# Dynamic Agent
Build a **Dynamic Agent** flow for an agentic application using the CrewAI.
An **agent** uses an LLM as its "brain" to reason through tasks and select among the connected tools to complete them.
This flow uses [CrewAI](https://docs.crewai.com/) to manage a [Hierarchical crew](https://docs.crewai.com/how-to/Hierarchical/) of **Agents** as they perform a sequence of **Tasks**.
CrewAI agents have **Roles**, **Goals**, and **Backstories** that define their behavior and interactions with other agents. Agents in a Hierarchical Crew are managed by a single agent with a **Manager** role, which is connected to an **Open AI** LLM component to reason through the tasks and select the appropriate tools to complete them.
This flow is "dynamic" because it uses the **Chat input** component's text to define a CrewAI agent's Role, Goal, and Backstory. The created agent then uses the connected tools to research and complete the **Task** created from the **Chat input** component.
## Prerequisites
To use this flow, you need an [OpenAI API key](https://platform.openai.com/) and a [Search API key](https://www.searchapi.io/).
## Open Langflow and start a new project
Click **New Project**, and then select the **Dynamic Agent** project.
This opens a starter project with the necessary components to run an agentic application using CrewAI.
The **Dynamic Agent** flow consists of these components:
* The **Chat Input** component accepts user input to the chat.
* The **Prompt** component combines the user input with a user-defined prompt.
* The **OpenAI** model component sends the user input and prompt to the OpenAI API and receives a response.
* The **Chat Output** component prints the flow's output to the chat.
* The **CrewAI Agent** component is an autonomous unit programmed to perform tasks, make decisions, and communicate with other agents.
* The **Crew AI Crew** component represents a collaborative group of agents working together to achieve a set of tasks. This Crew can manage work **sequentially** or **hierarchically**.
* The **Crew AI Task** component is a specific assignment to be completed by agents.
This task can be **sequential** or **hierarchical** depending on the Crew's configuration.
* The **SearchAPI** tool performs web searches using the **SearchAPI.io** API.
* The **Yahoo Finance News Tool** component creates a tool for retrieving news from Yahoo Finance.
## Run the Dynamic Agent flow
1. Add your credentials to the OpenAI and SearchAPI components using Langflow's Global Variables:
- Click **Settings**, then **Global Variables**.
- Click **Add New**.
- Name your variable and paste your API key in the **Value** field.
- In the **Apply To Fields** field, select the field to apply this variable to.
- Click **Save Variable**.
2. In the **Chat output** component, click ▶️ Play to start the end-to-end application flow.
A **Chat output built successfully** message and a ✅ Check on all components indicate that the flow ran successfully.
3. Click **Playground** to start a chat session.
You should receive a detailed, helpful answer to the question defined in the **Chat input** component.
Now that your query has completed the journey from **Chat input** to **Chat output**, you have completed the **Dynamic Agent** flow.

View file

@ -0,0 +1,54 @@
# Simple Agent
Build a **Simple Agent** flow for an agentic application using the Tool-calling agent.
An **agent** uses an LLM as its "brain" to select among the connected tools and complete its tasks.
In this flow, the **Tool-calling agent** reasons using an **Open AI** LLM to solve math problems. It will select the **Calculator** tool for simpler math, and the **Python REPL** tool (with the Python `math` library) for more complex problems.
## Prerequisites
To use this flow, you need an OpenAI API key.
## Open Langflow and start a new project
Click **New Project**, and then select the **Simple Agent** project.
This opens a starter project with the necessary components to run an agentic application using the Tool-calling agent.
## Simple Agent flow
![](./starter-flow-simple-agent.png)
The **Simple Agent** flow consists of these components:
* The **Tool calling agent** component uses the connected LLM to reason through the user's input and select among the connected tools to complete its task.
* The **Python REPL tool** component executes Python code in a REPL (Read-Evaluate-Print Loop) interpreter.
* The **Calculator** component performs basic arithmetic operations.
* The **Chat Input** component accepts user input to the chat.
* The **Prompt** component combines the user input with a user-defined prompt.
* The **Chat Output** component prints the flow's output to the chat.
* The **OpenAI** model component sends the user input and prompt to the OpenAI API and receives a response.
## Run the Simple Agent flow
1. Add your credentials to the Open AI component.
2. In the **Chat output** component, click ▶️ Play to start the end-to-end application flow.
A **Chat output built successfully** message and a ✅ Check on all components indicate that the flow ran successfully.
3. Click **Playground** to start a chat session.
4. Enter a simple math problem, like `2 + 2`, and then make sure the bot responds with the correct answer.
5. To confirm the REPL interpreter is working, prompt the `math` library directly with `math.sqrt(4)` and see if the bot responds with `4`.
6. The agent will also reason through more complex word problems. For example, prompt the agent with the following math problem:
```plain
The equation 24x2+25x47ax2=8x353ax2 is true for all values of x≠2a, where a is a constant.
What is the value of a?
A) -16
B) -3
C) 3
D) 16
```
The agent should respond with `B`.
Now that your query has completed the journey from **Chat input** to **Chat output**, you have completed the **Simple Agent** flow.

View file

@ -0,0 +1,44 @@
# Travel Planning Agent
Build a **Travel Planning Agent** flow for an agentic application using the multiple Tool-calling agents.
An **agent** uses an LLM as its "brain" to select among the connected tools and complete its tasks.
In this flow, multiple **Tool-calling agents** reason using an **Open AI** LLM to plan a travel journey. Each agent is given a different responsibility defined by its **System Prompt** field.
The **Chat input** defines where the user wants to go, and passes the result to the **City Selection** agent. The **Local Expert** agent then adds information based on the selected cities, and the **Travel Concierge** assembles a seven day travel plan in Markdown.
All agents have access to the **Search API** and **URL Content Fetcher** components, while only the Travel Concierge can use the **Calculator** for computing the trip costs.
## Prerequisites
To use this flow, you need an [OpenAI API key](https://platform.openai.com/) and a [Search API key](https://www.searchapi.io/).
## Open Langflow and start a new project
Click **New Project**, and then select the **Travel Planning Agent** project.
This opens a starter project with the necessary components to run an agentic application using multiple Tool-calling agents.
## Travel Planning Agent flow
![](./starter-flow-travel-planning-agent.png)
The **Travel Planning Agent** flow consists of these components:
* Multiple **Tool calling agent** components that use the connected LLM to reason through the user's input and select among the connected tools to complete their tasks.
* The **Calculator** component performs basic arithmetic operations.
* The **URL Content Fetcher** component scrapes content from a given URL.
* The **Chat Input** component accepts user input to the chat.
* The **Chat Output** component prints the flow's output to the chat.
* The **OpenAI** model component sends the user input and prompt to the OpenAI API and receives a response.
## Run the Travel Planning Agent flow
1. Add your credentials to the Open AI and Search API components.
2. In the **Chat output** component, click ▶️ Play to start the end-to-end application flow.
A **Chat output built successfully** message and a ✅ Check on all components indicate that the flow ran successfully.
3. Click **Playground** to start a chat session.
You should receive a detailed, helpful answer to the journey defined in the **Chat input** component.
Now that your query has completed the journey from **Chat input** to **Chat output**, you have completed the **Travel Planning Agent** flow.