pydantic-ai-researcher logo

pydantic-ai-researcher

by ibagur

pydantic-ai-researcher is a research system that orchestrates an asynchronous loop between a research agent and an evaluator agent. It answers complex queries using external MCP servers, iterating until a satisfactory response is attained.

View on GitHub

Last updated: N/A

What is pydantic-ai-researcher?

pydantic-ai-researcher is a system that uses two specialized AI agents, a research agent and an evaluator agent, to iteratively answer complex research queries. The research agent gathers information from external sources via MCP servers, and the evaluator agent provides feedback to refine the answers.

How to use pydantic-ai-researcher?

  1. Install Python 3.x. 2. Install dependencies using pipenv install or pip install -r requirements.txt. 3. Create a .env file and define OPENAI_API_KEY, TAVILY_API_KEY, and BRAVE_API_KEY. 4. Run the project using python main.py and type your research queries in the interactive prompt.

Key features of pydantic-ai-researcher

  • Asynchronous Research Loop

  • Dual Agent System

  • Pluggable MCP Servers

  • Environment Configurable

  • Easy Setup

Use cases of pydantic-ai-researcher

  • Automated research

  • Complex question answering

  • Iterative information refinement

  • Data gathering from multiple sources

  • AI-assisted research

FAQ from pydantic-ai-researcher

What is an MCP server?

MCP servers are external data sources like Tavily, Brave Search, and arXiv that the research agent uses to gather information.

What environment variables are required?

You need to define OPENAI_API_KEY, TAVILY_API_KEY, and BRAVE_API_KEY in your .env file.

How does the evaluator agent improve the research?

The evaluator agent assesses the answers provided by the research agent and offers feedback for improvement, driving the iterative research loop.

What happens if the answer is not satisfactory?

The system iterates through multiple cycles of evaluation until an answer is accepted or the maximum iteration limit is reached.

How can I contribute to the project?

You can submit issues and pull requests for bug fixes, improvements, or new features. Refer to the project's LICENSE file for licensing details.