Home
Login

대규모 언어 모델 기반의 자율 연구 에이전트로, 모든 주제에 대해 심층적인 로컬 및 온라인 연구를 수행하고 인용문이 포함된 상세 보고서를 생성합니다.

Apache-2.0Python 22.2kassafelovicgpt-researcher Last Updated: 2025-06-26

GPT Researcher 프로젝트 상세 소개

프로젝트 개요

GPT Researcher는 주어진 작업에 대한 웹 및 로컬 연구를 위해 설계된 오픈 소스 심층 연구 에이전트입니다. 이 프로젝트는 자세하고 객관적이며 편향되지 않은 연구 보고서를 생성하고 완전한 인용 정보를 제공하는 것을 목표로 합니다. 맞춤화되고 특정 분야에 특화된 연구 에이전트를 만들 수 있는 다양한 사용자 정의 옵션을 제공합니다.

핵심 기능

주요 기능

  • 📝 웹 및 로컬 문서를 사용하여 자세한 연구 보고서 생성
  • 🖼️ 지능형 이미지 캡처 및 필터링 기능
  • 📜 2000자 이상의 자세한 보고서 생성
  • 🌐 20개 이상의 정보 소스를 집계하여 객관적인 결론 도출
  • 🖥️ 경량(HTML/CSS/JS) 및 프로덕션 준비(NextJS + Tailwind) 프런트엔드 버전 제공
  • 🔍 JavaScript를 지원하는 웹 페이지 크롤링
  • 📂 전체 연구 과정에서 기억 및 컨텍스트 유지
  • 📄 보고서를 PDF, Word 등 형식으로 내보내기 지원

Deep Research 심층 연구 기능

GPT Researcher는 이제 Deep Research를 포함합니다. Deep Research는 에이전트의 깊이와 폭으로 주제를 탐색할 수 있는 고급 재귀 연구 워크플로입니다. 이 기능은 연구 주제의 포괄적인 뷰를 유지하면서 하위 주제를 깊이 파고드는 트리 구조 탐색 모드를 사용합니다.

Deep Research 특징:

  • 🌳 구성 가능한 깊이와 폭의 트리 구조 탐색
  • ⚡️ 더 빠른 결과를 위한 동시 처리
  • 🤝 연구 분기 간의 지능형 컨텍스트 관리
  • ⏱️ 매번 심층 연구에 약 5분 소요
  • 💰 매번 연구 비용 약 0.4달러 (o3-mini의 "높음" 추론 노력 사용 시)

기술 아키텍처

핵심 이념

이 프로젝트의 핵심 아이디어는 "계획자"와 "실행자" 에이전트를 활용하는 것입니다. 계획자는 연구 질문을 생성하고 실행 에이전트는 관련 정보를 수집합니다. 게시자는 모든 발견 사항을 종합 보고서로 집계합니다.

작업 흐름

  1. 연구 쿼리를 기반으로 특정 작업 에이전트 생성
  2. 작업의 객관적인 관점을 형성할 수 있는 질문 집합 생성
  3. 크롤러 에이전트를 사용하여 각 질문에 대한 정보 수집
  4. 각 리소스를 요약하고 출처 추적
  5. 요약을 필터링하고 최종 연구 보고서로 집계

해결 과제

GPT Researcher는 다음과 같은 연구 과제를 해결하는 것을 목표로 합니다.

  • 시간 비용: 인공 연구로 객관적인 결론을 도출하는 데 수 주가 걸릴 수 있으며 많은 리소스가 필요합니다.
  • 정보 노후화: 오래된 정보로 훈련된 LLM은 환각을 일으킬 수 있으며 현재 연구 작업과 관련이 없습니다.
  • 토큰 제한: 현재 LLM의 토큰 제한은 장편 연구 보고서를 생성하기에 충분하지 않습니다.
  • 정보 출처 제한: 기존 서비스의 제한된 웹 소스는 오정보 및 얕은 결과를 초래합니다.
  • 편향 문제: 선택적인 웹 소스는 연구 작업에 편향을 도입할 수 있습니다.

설치 및 사용

빠른 시작

환경 요구 사항:

  • Python 3.11 이상 버전 설치

단계:

  1. 프로젝트를 복제하고 디렉토리로 이동:
git clone https://github.com/assafelovic/gpt-researcher.git
cd gpt-researcher
  1. API 키 설정:
export OPENAI_API_KEY={Your OpenAI API Key here}
export TAVILY_API_KEY={Your Tavily API Key here}
  1. 종속성을 설치하고 서버 시작:
pip install -r requirements.txt
python -m uvicorn main:app --reload
  1. http://localhost:8000 에 접속하여 사용 시작

PIP 패키지 설치

pip install gpt-researcher

코드 예시:

from gpt_researcher import GPTResearcher

query = "why is Nvidia stock going up?"
researcher = GPTResearcher(query=query, report_type="research_report")

# 주어진 쿼리에 대한 연구 수행
research_result = await researcher.conduct_research()

# 보고서 작성
report = await researcher.write_report()

Docker 배포

  1. Docker 설치
  2. '.env.example' 파일을 복제하고 API 키를 추가하여 '.env'로 저장
  3. docker-compose 파일에서 실행하지 않으려는 서비스 주석 처리
  4. 실행:
docker-compose up --build

기본적으로 두 개의 프로세스가 시작됩니다.

  • Python 서버는 localhost:8000에서 실행
  • React 앱은 localhost:3000에서 실행

로컬 문서 연구

GPT Researcher는 로컬 문서를 기반으로 연구 작업을 지원합니다. 현재 지원되는 파일 형식은 PDF, 일반 텍스트, CSV, Excel, Markdown, PowerPoint 및 Word 문서입니다.

설정 단계:

  1. 환경 변수 DOC_PATH를 문서가 있는 폴더로 지정:
export DOC_PATH="./my-docs"
  1. 프런트엔드 앱에서 "보고서 소스" 드롭다운 옵션에서 "내 문서"를 선택하거나 PIP 패키지를 사용할 때 report_source 매개변수를 "local"로 설정합니다.

다중 에이전트 시스템

AI가 프롬프트 엔지니어링 및 RAG에서 다중 에이전트 시스템으로 발전함에 따라 GPT Researcher는 LangGraph를 기반으로 구축된 새로운 다중 에이전트 도우미를 도입했습니다.

LangGraph를 사용하면 전문 기술을 가진 여러 에이전트를 활용하여 연구 프로세스의 깊이와 품질을 크게 향상시킬 수 있습니다. 최근 STORM 논문에서 영감을 받아 이 프로젝트는 AI 에이전트 팀이 계획에서 게시까지 주어진 주제에 대한 연구를 어떻게 협력하는지 보여줍니다.

평균적으로 5-6페이지의 연구 보고서를 생성하며 PDF, Docx 및 Markdown과 같은 다양한 형식을 지원합니다.

프런트엔드 인터페이스

GPT Researcher는 사용자 경험을 개선하고 연구 프로세스를 간소화하기 위해 향상된 프런트엔드 인터페이스를 제공합니다. 프런트엔드는 다음을 제공합니다.

  • 연구 쿼리를 입력하기 위한 직관적인 인터페이스
  • 연구 작업의 실시간 진행 상황 추적
  • 연구 결과의 대화형 표시
  • 맞춤화된 연구 경험을 위한 사용자 정의 가능한 설정

두 가지 배포 옵션 제공:

  • FastAPI에서 제공하는 경량 정적 프런트엔드
  • 고급 기능이 있는 기능이 풍부한 NextJS 애플리케이션

기술 특징

편향 제어

  • 여러 웹사이트를 크롤링하여 오류 및 편향된 사실 감소
  • 가장 빈번한 정보를 선택하여 모든 정보가 잘못될 확률 감소
  • 편향 제거를 목표로 하지 않고 가능한 한 편향 감소
  • 다양한 관점을 크롤링하여 다양한 관점을 균등하게 설명

성능 최적화

  • 에이전트 작업을 병렬화하여 안정적인 성능 제공 및 속도 향상
  • 동기 작업에 비해 비동기 처리가 효율성 향상
  • 지능형 컨텍스트 관리를 통해 연구의 일관성 보장

면책 조항

GPT Researcher는 실험적인 애플리케이션이며 명시적 또는 묵시적 보증 없이 "있는 그대로" 제공됩니다. 코드는 Apache 2 라이선스에 따라 학술 목적으로 공유됩니다. 여기의 내용은 학술적 조언이 아니며 학술 또는 연구 논문에 사용하지 않는 것이 좋습니다.

Star History Chart