This directory contains the Deep Research Agent example for the Atomic Agents project. This example demonstrates how to create an intelligent research assistant that performs web searches and provides detailed answers with relevant follow-up questions.
-
Clone the main Atomic Agents repository:
git clone https://github.com/BrainBlend-AI/atomic-agents
-
Navigate to the Deep Research directory:
cd atomic-agents/atomic-examples/deep-research
-
Install dependencies using Poetry:
poetry install
-
Set up environment variables: Create a
.env
file in thedeep-research
directory with:OPENAI_API_KEY=your_openai_api_key
-
Set up SearxNG:
- Install SearxNG from the official repository
- Default configuration expects SearxNG at
http://localhost:8080
-
Run the Deep Research Agent:
poetry run python deep_research/main.py
- ChoiceAgent (
choice_agent.py
): Determines when new searches are needed - QueryAgent (
query_agent.py
): Generates optimized search queries - QuestionAnsweringAgent (
qa_agent.py
): Processes information and generates responses
- SearxNG Search (
searxng_search.py
): Performs web searches across multiple engines - Webpage Scraper (
webpage_scraper.py
): Extracts and processes web content
The entry point for the Deep Research Agent application. It orchestrates the research process:
- Deciding when to perform new searches
- Generating and executing search queries
- Processing information and providing answers
- Suggesting relevant follow-up questions
The agent can handle various research queries and provides:
- Detailed answers based on current web information
- Relevant citations and sources
- Specific follow-up questions for deeper exploration
- Context-aware responses that build on previous interactions
Contributions are welcome! Please fork the repository and submit a pull request with your improvements.
This project is licensed under the MIT License. See the LICENSE file for details.