by Assaf Elovic (open source) OpenAI, Anthropic и другие LLM, Tavily/поисковые API
Автономный исследовательский агент: получает тему и самостоятельно проводит многошаговое веб-исследование, критически сопоставляет источники и выдаёт связный, подробно процитированный отчёт — то, на что у человека ушли бы часы работы. Результат по качеству и глубине реально впечатляет и наглядно показывает потенциал агентных систем на практике.
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())
"
GPT Researcher — первый открытый глубокий исследовательский агент, разработанный как для веб-, так и для локальных исследований по любой заданной задаче.
Агент генерирует подробные, фактические и объективные исследовательские отчеты со ссылками. GPT Researcher предоставляет полный набор опций настройки для создания пользовательских и специализированных исследовательских агентов. Вдохновлённый недавними работами по Plan-and-Solve и RAG, GPT Researcher решает проблемы дезинформации, скорости, детерминированности и надёжности, обеспечивая стабильную производительность и повышенную скорость за счёт параллелизованной работы агентов.
Наша миссия — наделить людей и организации точной, объективной и фактической информацией с помощью ИИ.
Расширьте возможности глубокого исследования Claude, установив GPT Researcher как навык Claude:
npx skills add assafelovic/gpt-researcher
После установки Claude сможет использовать возможности глубокого исследования GPT Researcher непосредственно в ваших разговорах.
Основная идея — использование агентов «планировщика» и «исполнителя». Планировщик генерирует исследовательские вопросы, а агенты-исполнители собирают соответствующую информацию. Затем издатель агрегирует все результаты в исчерпывающий отчёт.
Шаги: * Создание агента, специфичного для задачи, на основе исследовательского запроса. * Генерация вопросов, которые в совокупности формируют объективное мнение по задаче. * Использование агента-скрапера для сбора информации по каждому вопросу. * Резюмирование и отслеживание источников для каждого ресурса. * Фильтрация и агрегация резюме в итоговый исследовательский отчёт.
Смотрите Документацию для: - Руководств по установке и настройке - Вариантов конфигурации и кастомизации - Примеров использования - Полных справочников по API
Клонируйте проект и перейдите в каталог:
bash
git clone https://github.com/assafelovic/gpt-researcher.git
cd gpt-researcher
Настройте ключи API, экспортируя их или сохранив в файл .env.
bash
export OPENAI_API_KEY={Сюда вставьте ваш ключ OpenAI API}
export TAVILY_API_KEY={Сюда вставьте ваш ключ Tavily API}
(Необязательно) Для расширенной отслеживаемости и наблюдаемости можно также установить:
```bash
```
Для пользовательских API, совместимых с OpenAI (например, локальных моделей, других провайдеров), можно также установить:
bash
export OPENAI_BASE_URL={Сюда вставьте ваш пользовательский базовый URL API}
Установите зависимости и запустите сервер:
bash
pip install -r requirements.txt
python -m uvicorn main:app --reload
Перейдите по адресу http://localhost:8000 для запуска.
Для других вариантов установки (например, Poetry или виртуальные среды) см. страницу Начало работы.
pip install gpt-researcher
...
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()
...
Больше примеров и вариантов конфигурации смотрите на странице документации PIP.
GPT Researcher поддерживает интеграцию MCP для подключения к специализированным источникам данных, таким как репозитории GitHub, базы данных и пользовательские API. Это позволяет проводить исследования из источников данных наряду с веб-поиском.
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
Для исчерпывающей документации по MCP и расширенных примеров посетите Руководство по интеграции MCP.
GPT Researcher может автоматически генерировать и встраивать иллюстрации, созданные ИИ, в ваши исследовательские отчеты с использованием моделей Google Gemini (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
При включении этой функции система будет: 1. Анализировать ваш исследовательский контекст для выявления возможностей визуализации 2. Предварительно генерировать 2-3 релевантных изображения на этапе исследования 3. Встраивать их в текст по мере написания отчета
Изображения генерируются в стилистике тёмного режима, соответствующей интерфейсу GPT Researcher, с профессиональной эстетикой инфографики и акцентами цвета тил.
Узнайте больше о генерации изображений в нашей документации.
GPT Researcher теперь включает «Глубокое исследование» — продвинутый рекурсивный исследовательский процесс, который изучает темы с агентской глубиной и широтой. Эта функция использует древовидный паттерн исследования, углубляясь в подтемы при сохранении всеобъемлющего обзора исследуемого предмета.
o3-mini с "высоким" уровнем рассуждений)Узнайте больше о глубоком исследовании в нашей документации.
Шаг 1 - Установите Docker
Шаг 2 - Скопируйте файл '.env.example', добавьте ваши API-ключи в скопированный файл и сохраните файл как '.env'
Шаг 3 - В файле docker-compose закомментируйте сервисы, которые вы не хотите запускать с помощью Docker.
docker-compose up --build
Если это не сработает, попробуйте запустить без тире:
docker compose up --build
Шаг 4 - По умолчанию, если вы ничего не раскомментировали в вашем файле docker-compose, этот процесс запустит 2 процесса: - Python-сервер, работающий на localhost:8000
- React-приложение, работающее на localhost:3000
Перейдите на localhost:3000 в любом браузере и наслаждайтесь исследованиями!
Вы можете указать GPT Researcher выполнять исследовательские задачи на основе ваших локальных документов. В настоящее время поддерживаются следующие форматы файлов: PDF, обычный текст, CSV, Excel, Markdown, PowerPoint и документы Word.
Шаг 1: Добавьте переменную окружения DOC_PATH, указывающую на папку, в которой находятся ваши документы.
export DOC_PATH="./my-docs"
Шаг 2:
- Если вы запускаете фронтенд-приложение на localhost:8000, просто выберите "My Documents" в выпадающем списке "Report Source".
- Если вы запускаете GPT Researcher с помощью PIP-пакета, передайте аргумент report_source как "local" при создании экземпляра класса GPTResearcher пример кода здесь.
Мы перенесли наш MCP-сервер в отдельный репозиторий: gptr-mcp.
MCP-сервер GPT Researcher позволяет приложениям на базе ИИ, таким как Claude, проводить глубокие исследования. Хотя ИИ-приложения могут получать доступ к инструментам веб-поиска через MCP, GPT Researcher MCP обеспечивает более глубокие и надежные результаты исследований.
Возможности: - Глубокие исследования для ИИ-ассистентов - Более качественная информация с оптимизированным использованием контекста - Комплексные результаты с лучшим рассуждением для 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=your_api_key
export LANGCHAIN_PROJECT="gpt-researcher"
2. Запускайте ваши исследовательские задачи как обычно. Все взаимодействия агентов на базе LangGraph будут автоматически отслеживаться и визуализироваться в вашей панели LangSmith.
GPT-Researcher теперь имеет улучшенный фронтенд для повышения удобства пользователя и оптимизации процесса исследований. Фронтенд предлагает:
Доступны два варианта развертывания: 1. Легковесный статический фронтенд, обслуживаемый FastAPI 2. Функционально насыщенное приложение NextJS для продвинутого функционала
Для получения подробных инструкций по настройке и дополнительной информации о возможностях фронтенда, пожалуйста, посетите нашу страницу документации.
Мы приветствуем вклад! Ознакомьтесь с руководством по участию, если вы заинтересованы.
Пожалуйста, ознакомьтесь с нашей дорожной картой и свяжитесь с нами через наше сообщество Discord, если вы заинтересованы в присоединении к нашей миссии.
Этот проект, GPT Researcher, является экспериментальным приложением и предоставляется «как есть», без каких-либо гарантий, прямых или косвенных. Мы распространяем коды в академических целях по лицензии Apache 2. Ничего в данном документе не является академической консультацией и НЕ является рекомендацией к использованию в академических или исследовательских работах.
Наша позиция по непредвзятым исследовательским утверждениям: 1. Основная цель GPT Researcher — уменьшить количество ошибочных и предвзятых фактов. Как? Мы предполагаем, что чем больше сайтов мы анализируем, тем меньше вероятность получения неточных данных. Анализируя множество сайтов за одно исследование и выбирая наиболее часто встречающуюся информацию, вероятность того, что все они неверны, крайне мала. 2. Мы не стремимся устранить предвзятость; мы стремимся свести ее к минимуму. Мы здесь как сообщество, чтобы найти наиболее эффективные взаимодействия человека/LLM. 3. В исследованиях люди также склонны к предвзятости, так как у большинства уже есть собственное мнение по темам, которые они изучают. Этот инструмент анализирует множество точек зрения и объясняет разнообразные позиции, которые предвзятый человек никогда бы не прочитал.