Update README.md
This commit is contained in:
@@ -1,29 +1,54 @@
|
||||
# Deep Agent from Scratch
|
||||
# Deep Agent based on LangGraph & LangChain
|
||||
|
||||
This repository contains a minimal implementation of a deep agent that can:
|
||||
This repository contains a minimal implementation of a **Deep Agent** that can:
|
||||
|
||||
1. Search the web using DuckDuckGo.
|
||||
2. Create virtual files in memory.
|
||||
3. Export the virtual files to the real file system.
|
||||
1. Search the web using the Tavily search API.
|
||||
2. Create virtual files in an in‑memory file system.
|
||||
3. Export all virtual files to the real filesystem.
|
||||
|
||||
The agent is built using the new LangChain 1.x and LangGraph 1.x APIs.
|
||||
The agent is built on top of the *LangGraph* framework and uses the *LangChain* tools API.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
- Python 3.11 or newer
|
||||
- Ollama running locally with a model such as `llama3.1`
|
||||
- `pip install -r requirements.txt`
|
||||
|
||||
## Running the Agent
|
||||
## Installation
|
||||
|
||||
```bash
|
||||
python agent.py
|
||||
# Create a virtual environment (recommended)
|
||||
python -m venv .venv
|
||||
source .venv/bin/activate
|
||||
|
||||
# Install dependencies
|
||||
pip install -r requirements.txt
|
||||
```
|
||||
|
||||
The script will run the agent with a sample prompt, create a virtual file `report.txt`, and export it to the `exported_files` directory.
|
||||
> **Note**: The Tavily API key is required for the web search tool. Set it via the
|
||||
> environment variable `TAVILY_API_KEY`.
|
||||
|
||||
## File Structure
|
||||
## Usage
|
||||
|
||||
- `agent.py` – Main implementation.
|
||||
- `requirements.txt` – Python dependencies.
|
||||
- `README.md` – This file.
|
||||
```python
|
||||
from agent import create_agent_executor, vfs
|
||||
|
||||
# Create an executor
|
||||
executor = create_agent_executor()
|
||||
|
||||
# Run the agent with a simple prompt
|
||||
result = executor.invoke({"input": "Find the latest news about Python and create a file called news.txt with the summary."})
|
||||
print(result)
|
||||
|
||||
# After the agent finishes, export the virtual files
|
||||
vfs.export_to_disk("output")
|
||||
```
|
||||
|
||||
The `output` directory will contain `news.txt` with the content produced by the agent.
|
||||
|
||||
## Testing
|
||||
|
||||
The project includes a simple test that verifies the existence of the two
|
||||
required functions:
|
||||
|
||||
```bash
|
||||
python -m unittest discover -s tests
|
||||
```
|
||||
|
||||
## License
|
||||
|
||||
MIT
|
||||
|
||||
Reference in New Issue
Block a user