A search assistant that orchestrates multiple search tools (Google, Bing, Perplexity, Reddit, Tavily, and DuckDuckGo) to deliver thorough and cited answers.
Demo.mp4
- Diverse Search Toolset: Integrates 6 distinct search capabilities:
- Intelligent Orchestration: Uses a ReAct agent strategy to decide which tools to use and how to aggregate the information.
- Stateful Workflow: Built on LangGraph, allowing for structured execution and easy expansion of the agent's logic.
- Local LLM Support: Configured to run with
ChatOllamausing theqwen3:8bmodel for privacy and local processing. - Automatic Summarization: The agent is prompted to summarize all gathered data and provide a clear list of source links.
- Frameworks: LangChain, LangGraph
- LLM: Ollama (Qwen3 8B)
- APIs: BrightData, Tavily, DuckDuckGo (via
ddgs)
- Clone the repository and navigate to the project directory.
- Install dependencies:
pip install langchain langchain-ollama langgraph tavily-python ddgs requests python-dotenv
- Configure Environment Variables: Create a
.envfile in the root directory and add your credentials:
BRIGHTDATA_API_KEY=your_brightdata_key
BRIGHTDATA_SERP_ZONE=your_serp_zone
BRIGHTDATA_PERPLEXITY_DATASET_ID=your_perplexity_dataset_id
TAVILY_KEY=your_tavily_key
Run the agent directly from your terminal:
python run.py
Once prompted with Query>, enter your research question. The agent will print its progress as it triggers different tools and finally output a summarized response with all source links included.