GPT Researcher

by Assaf Elovic (open source) · OpenAI, Anthropic и другие LLM, Tavily/поисковые API

Assistant AI Assistants Open Source v3.6.0 · 18.07.2026 активный

Автономный исследовательский агент: получает тему и самостоятельно проводит многошаговое веб-исследование, критически сопоставляет источники и выдаёт связный, подробно процитированный отчёт — то, на что у человека ушли бы часы работы. Результат по качеству и глубине реально впечатляет и наглядно показывает потенциал агентных систем на практике.

v3.6.0
18.07.2026 current

Установка
pip install gpt-researcher
export OPENAI_API_KEY=...
export TAVILY_API_KEY=...

python3 -c "
from gpt_researcher import GPTResearcher
import asyncio
researcher = GPTResearcher('тема исследования', 'research_report')
asyncio.run(researcher.conduct_research())
"
показать оригинал переведено ИИ

Logo

Website Documentation Discord

PyPI version GitHub Release Open In Colab Docker Image Version Skill Twitter Follow

English | 中文 | 日本語 | 한국어

🔎 GPT Researcher

GPT Researcher the first open deep research agent designed for both web and local research on any given task.

The agent produces detailed, factual, and unbiased research reports with citations. GPT Researcher provides a full suite of customization options to create tailor made and domain specific research agents. Inspired by the recent Plan-and-Solve and RAG papers, GPT Researcher addresses misinformation, speed, determinism, and reliability by offering stable performance and increased speed through parallelized agent work.

Our mission is to empower individuals and organizations with accurate, unbiased, and factual information through AI.

Why GPT Researcher?

  • Objective conclusions for manual research can take weeks, requiring vast resources and time.
  • LLMs trained on outdated information can hallucinate, becoming irrelevant for current research tasks.
  • Current LLMs have token limitations, insufficient for generating long research reports.
  • Limited web sources in existing services lead to misinformation and shallow results.
  • Selective web sources can introduce bias into research tasks.

Demo

Demo video

Install as Claude Skill

Extend Claude's deep research capabilities by installing GPT Researcher as a Claude Skill:

npx skills add assafelovic/gpt-researcher

Once installed, Claude can leverage GPT Researcher's deep research capabilities directly within your conversations.

Architecture

The core idea is to utilize 'planner' and 'execution' agents. The planner generates research questions, while the execution agents gather relevant information. The publisher then aggregates all findings into a comprehensive report.

Steps: * Create a task-specific agent based on a research query. * Generate questions that collectively form an objective opinion on the task. * Use a crawler agent for gathering information for each question. * Summarize and source-track each resource. * Filter and aggregate summaries into a final research report.

Tutorials

Features

  • 📝 Generate detailed research reports using web and local documents.
  • 🖼️ Smart image scraping and filtering for reports.
  • 🍌 AI-generated inline images using Google Gemini (Nano Banana) for visual illustrations.
  • 📜 Generate detailed reports exceeding 2,000 words.
  • 🌐 Aggregate over 20 sources for objective conclusions.
  • 🖥️ Frontend available in lightweight (HTML/CSS/JS) and production-ready (NextJS + Tailwind) versions.
  • 🔍 JavaScript-enabled web scraping.
  • 📂 Maintains memory and context throughout research.
  • 📄 Export reports to PDF, Word, and other formats.

📖 Documentation

See the Documentation for: - Installation and setup guides - Configuration and customization options - How-To examples - Full API references

⚙️ Getting Started

Installation

  1. Install Python 3.11 or later. Guide.
  2. Clone the project and navigate to the directory:

    ```bash

    git clone https://github.com/assafelovic/gpt-researcher.git cd gpt-researcher ```

  3. Set up API keys by exporting them or storing them in a .env file.

    bash export OPENAI_API_KEY={Your OpenAI API Key here} export TAVILY_API_KEY={Your Tavily API Key here}

    (Optional) For enhanced tracing and observability, you can also set:

    bash # export LANGCHAIN_TRACING_V2=true # export LANGCHAIN_API_KEY={Your LangChain API Key here}

    For custom OpenAI-compatible APIs (e.g., local models, other providers), you can also set:

    bash export OPENAI_BASE_URL={Your custom API base URL here}

  4. Install dependencies and start the server:

    bash pip install -r requirements.txt python -m uvicorn main:app --reload

Visit http://localhost:8000 to start.

For other setups (e.g., Poetry or virtual environments), check the Getting Started page.

Run as PIP package

pip install gpt-researcher

Example Usage:

...
from gpt_researcher import GPTResearcher

query = "why is Nvidia stock going up?"
researcher = GPTResearcher(query=query)
# Conduct research on the given query
research_result = await researcher.conduct_research()
# Write the report
report = await researcher.write_report()
...

For more examples and configurations, please refer to the PIP documentation page.

🔧 MCP Client

GPT Researcher supports MCP integration to connect with specialized data sources like GitHub repositories, databases, and custom APIs. This enables research from data sources alongside web search.

export RETRIEVER=tavily,mcp  # Enable hybrid web + MCP research
from gpt_researcher import GPTResearcher
import asyncio
import os

async def mcp_research_example():
    # Enable MCP with web search
    os.environ["RETRIEVER"] = "tavily,mcp"

    researcher = GPTResearcher(
        query="What are the top open source web research agents?",
        mcp_configs=[
            {
                "name": "github",
                "command": "npx",
                "args": ["-y", "@modelcontextprotocol/server-github"],
                "env": {"GITHUB_TOKEN": os.getenv("GITHUB_TOKEN")}
            }
        ]
    )

    research_result = await researcher.conduct_research()
    report = await researcher.write_report()
    return report

For comprehensive MCP documentation and advanced examples, visit the MCP Integration Guide.

🍌 Inline Image Generation

GPT Researcher can automatically generate and embed AI-created illustrations in your research reports using Google's Gemini models (Nano Banana).

# Enable in your .env file
IMAGE_GENERATION_ENABLED=true
GOOGLE_API_KEY=your_google_api_key
IMAGE_GENERATION_MODEL=models/gemini-2.5-flash-image

When enabled, the system will: 1. Analyze your research context to identify visualization opportunities 2. Pre-generate 2-3 relevant images during the research phase 3. Embed them inline as the report is written

Images are generated with dark-mode styling that matches the GPT Researcher UI, featuring professional infographic aesthetics with teal accents.

Learn more about Image Generation in our documentation.

✨ Deep Research

GPT Researcher now includes Deep Research - an advanced recursive research workflow that explores topics with agentic depth and breadth. This feature employs a tree-like exploration pattern, diving deeper into subtopics while maintaining a comprehensive view of the research subject.

  • 🌳 Tree-like exploration with configurable depth and breadth
  • ⚡️ Concurrent processing for faster results
  • 🤝 Smart context management across research branches
  • ⏱️ Takes ~5 minutes per deep research
  • 💰 Costs ~$0.4 per research (using o3-mini on "high" reasoning effort)

Learn more about Deep Research in our documentation.

Run with Docker

Step 1 - Install Docker

Step 2 - Clone the '.env.example' file, add your API Keys to the cloned file and save the file as '.env'

Step 3 - Within the docker-compose file comment out services that you don't want to run with Docker.

docker-compose up --build

If that doesn't work, try running it without the dash:

docker compose up --build

Step 4 - By default, if you haven't uncommented anything in your docker-compose file, this flow will start 2 processes: - the Python server running on localhost:8000
- the React app running on localhost:3000

Visit localhost:3000 on any browser and enjoy researching!

📄 Research on Local Documents

You can instruct the GPT Researcher to run research tasks based on your local documents. Currently supported file formats are: PDF, plain text, CSV, Excel, Markdown, PowerPoint, and Word documents.

Step 1: Add the env variable DOC_PATH pointing to the folder where your documents are located.

export DOC_PATH="./my-docs"

Step 2: - If you're running the frontend app on localhost:8000, simply select "My Documents" from the "Report Source" Dropdown Options.


  • Если вы запускаете GPT Researcher с помощью PIP-пакета, передайте аргумент report_source как "local" при создании экземпляра класса GPTResearcher пример кода здесь.

🤖 MCP Сервер

Мы перенесли наш MCP-сервер в отдельный репозиторий: gptr-mcp.

Сервер MCP для GPT Researcher позволяет ИИ-приложениям, таким как Claude, проводить глубокие исследования. Хотя LLM-приложения могут использовать инструменты веб-поиска с MCP, MCP для GPT Researcher обеспечивает более глубокие и надёжные результаты исследований.

Возможности: - Глубокие исследовательские возможности для ИИ-ассистентов - Более качественная информация с оптимизированным использованием контекста - Исчерпывающие результаты с улучшенным логическим выводом для LLM - Интеграция с Claude Desktop

Подробные инструкции по установке и использованию доступны в официальном репозитории.

👪 Мультиагентный ассистент

По мере того как ИИ эволюционирует от инженерии промптов и RAG к мультиагентным системам, мы рады представить мультиагентных ассистентов, созданных с использованием LangGraph и AG2.

Использование мультиагентных фреймворков позволяет значительно улучшить глубину и качество исследовательского процесса за счёт привлечения нескольких агентов с узкоспециализированными навыками. Вдохновлённые недавней статьёй STORM, этот проект демонстрирует, как команда ИИ-агентов может совместно проводить исследование по заданной теме — от планирования до публикации.

В среднем выполнение задачи генерирует отчёт объёмом 5–6 страниц в нескольких форматах, таких как PDF, Docx и Markdown.

Ознакомьтесь с этим здесь или перейдите к нашей документации для LangGraph и AG2 для получения дополнительной информации.

🔍 Наблюдаемость

GPT Researcher поддерживает LangSmith для расширенной трассировки и наблюдаемости, что упрощает отладку и оптимизацию сложных мультиагентных рабочих процессов.

Для включения трассировки: 1. Задайте следующие переменные окружения: bash export LANGCHAIN_TRACING_V2=true export LANGCHAIN_API_KEY=ваш_api_ключ export LANGCHAIN_PROJECT="gpt-researcher" 2. Запускайте исследовательские задачи как обычно. Все взаимодействия агентов на базе LangGraph будут автоматически отслеживаться и визуализироваться в вашей панели LangSmith.

Трассировка Monocle

GPT Researcher также поддерживает Monocle — трассировщик на базе OpenTelemetry для агентных приложений. Он записывает каждый запуск от начала до конца: вызовы LLM, шаги агентов и обращения к инструментам с их входными данными, результатами, временем выполнения и количеством токенов.

Monocle является дополнительной функцией и по умолчанию отключён. Установите его, затем добавьте следующее в файл .env:

pip install "gpt-researcher[monocle]"
MONOCLE_TRACING=true
MONOCLE_EXPORTERS=file          # file, console, okahu, s3, blob, gcs (default: file)
OKAHU_API_KEY=okh_xxxxxxxx      # required only for the `okahu` exporter

Каждый запуск записывает один файл трассировки в .monocle/; откройте его в расширении Monocle для VS Code. Подключитесь к Okahu, чтобы анализировать трассировки между запусками (через экспортер okahu).

🖥️ Фронтенд-приложения

Теперь GPT Researcher включает улучшенный фронтенд для повышения удобства пользователей и оптимизации исследовательского процесса. Фронтенд предлагает:

  • Интуитивно понятный интерфейс для ввода исследовательских запросов
  • Отслеживание прогресса выполнения задач в реальном времени
  • Интерактивное отображение результатов исследований
  • Настраиваемые параметры для индивидуальных исследовательских сценариев

Доступны два варианта развёртывания: 1. Лёгкий статический фронтенд, обслуживаемый FastAPI 2. Полнофункциональное приложение на NextJS для расширенных возможностей

Подробные инструкции по настройке и дополнительную информацию о возможностях фронтенда можно найти на нашей странице документации.

🚀 Участие в разработке

Мы очень приветствуем вклад в проект! Пожалуйста, ознакомьтесь с руководством по участию, если вам это интересно.

Ознакомьтесь с нашей дорожной картой и свяжитесь с нами через наш Discord-сообщество, если хотите присоединиться к нашей миссии.

✉️ Поддержка / Свяжитесь с нами


🛡 Отказ от ответственности

Этот проект, GPT Researcher, является экспериментальным приложением и предоставляется «как есть» без каких-либо гарантий, явных или подразумеваемых. Мы делимся кодом в академических целях под лицензией Apache 2. Ничто здесь не является академическим советом и НЕ рекомендуется к использованию в академических или исследовательских работах.

Наш взгляд на утверждения о беспристрастности исследований: 1. Основная цель GPT Researcher — снизить количество неверных и предвзятых фактов. Как? Мы предполагаем, что чем больше сайтов мы сканируем, тем меньше вероятность неверных данных. Сканируя несколько сайтов для каждого исследования и выбирая наиболее часто встречающуюся информацию, вероятность того, что все они ошибочны, крайне мала. 2. Мы не стремимся полностью устранить предвзятость; мы стремимся свести её к минимуму. Мы здесь как сообщество, чтобы найти наиболее эффективные способы взаимодействия человека и LLM. 3. В исследованиях люди также склонны к предвзятости, так как у большинства уже есть мнение по темам, которые они изучают. Этот инструмент сканирует множество мнений и равномерно объясняет различные точки зрения, которые предвзятый человек никогда бы не прочитал.


Star History Chart

⬆️ Вернуться к началу

Войдите, чтобы оставить комментарий