update readme

This commit is contained in:
zachary62 2025-03-19 12:55:38 -04:00
parent 4c7c448670
commit 1a6861801c
1 changed files with 37 additions and 33 deletions

View File

@ -1,77 +1,80 @@
# PocketFlow Research Agent - Tutorial for Dummy # PocketFlow Research Agent - Tutorial for Dummy
This project demonstrates a simple LLM-powered research agent built with PocketFlow, a minimalist LLM framework in 100 lines. For more information on PocketFlow and how to build LLM agents, check out: This project demonstrates a simple yet powerful LLM-powered research agent built with PocketFlow, a minimalist LLM framework in just 100 lines of code!
- [LLM Agents are simply Graph — Tutorial For Dummies](https://zacharyhuang.substack.com/p/llm-agent-internal-as-a-graph-tutorial) > 📝 **Note:** This implementation is based directly on the tutorial post [LLM Agents are simply Graph — Tutorial For Dummies](https://zacharyhuang.substack.com/p/llm-agent-internal-as-a-graph-tutorial). Check it out for a better understanding of the concepts!
Want to learn more about PocketFlow and building cool LLM agents? Check out:
- [PocketFlow GitHub](https://github.com/the-pocket/PocketFlow) - [PocketFlow GitHub](https://github.com/the-pocket/PocketFlow)
- [PocketFlow Documentation](https://the-pocket.github.io/PocketFlow/) - [PocketFlow Documentation](https://the-pocket.github.io/PocketFlow/)
## What It Does ## ✨ What Can This Agent Do?
This agent can: This friendly little agent can:
1. Answer questions by searching for information when needed 1. 🔎 Search the web for information when it needs more context
2. Make decisions about when to search and when to answer 2. 🧠 Decide intelligently when to search and when it has enough info to answer
3. Generate helpful responses based on collected research 3. 📝 Generate helpful, informative responses based on its research
## Setting Up ## 🚀 Getting Started
### Prerequisites ### What You'll Need
- Python 3.8+ - Python 3.8 or newer
- OpenAI API key - An OpenAI API key (don't worry, we'll help you set this up!)
### Installation ### Easy Installation
1. Install the required packages: 1. Install the packages you need with this simple command:
```bash ```bash
pip install -r requirements.txt pip install -r requirements.txt
``` ```
## Structure ## 📂 Project Structure
- [`main.py`](./main.py): Entry point and user interface Here's what's in each file:
- [`flow.py`](./flow.py): Creates and connects the agent flow - [`main.py`](./main.py): The starting point - runs the whole show!
- [`nodes.py`](./nodes.py): Defines the decision and action nodes - [`flow.py`](./flow.py): Connects everything together into a smart agent
- [`utils.py`](./utils.py): Contains utility functions for LLM calls and web searches - [`nodes.py`](./nodes.py): The building blocks that make decisions and take actions
- [`utils.py`](./utils.py): Helper functions for talking to the LLM and searching the web
## Quick Start Guide ## 🏃‍♂️ Quick Start Guide
### Step 1: Set Up Your OpenAI API Key ### Step 1: Set Up Your API Key
First, you must provide your OpenAI API key: First, let's get your OpenAI API key ready:
```bash ```bash
export OPENAI_API_KEY="your-api-key-here" export OPENAI_API_KEY="your-api-key-here"
``` ```
### Step 2: Test Utilities ### Step 2: Make Sure Everything Works
Verify that your API key is working by testing the utilities: Let's do a quick check to make sure your API key is working properly:
```bash ```bash
python utils.py python utils.py
``` ```
This will test both the LLM call functionality and the web search capability. This will test both the LLM call and web search features. If you see responses, you're good to go!
### Step 3: Run the Agent ### Step 3: Run Your Agent
Run the agent with the default question ("Who won the Nobel Prize in Physics 2024?"): Try out the agent with the default question (about Nobel Prize winners):
```bash ```bash
python main.py python main.py
``` ```
### Step 4: Ask Custom Questions ### Step 4: Ask Your Own Questions
To ask your own question, use the `--` prefix: Got a burning question? Ask anything you want by using the `--` prefix:
```bash ```bash
python main.py --"What is quantum computing?" python main.py --"What is quantum computing?"
``` ```
## How It Works ## 🧩 How It Works
The agent is structured as a simple directed graph with three main nodes: The magic happens through a simple but powerful graph structure with three main parts:
```mermaid ```mermaid
graph TD graph TD
@ -80,6 +83,7 @@ graph TD
B -->|"decide"| A B -->|"decide"| A
``` ```
1. **DecideAction**: Determines whether to search for information or provide an answer Here's what each part does:
2. **SearchWeb**: Searches the web for information 1. **DecideAction**: The brain that figures out whether to search or answer
3. **AnswerQuestion**: Creates a final answer once enough information is gathered 2. **SearchWeb**: The researcher that goes out and finds information
3. **AnswerQuestion**: The writer that crafts the final answer