Skip to main content
  1. Posts/

Setup GPT Researcher dengan Docker

·2 mins·
docker docker
Table of Contents

GPT Researcher adalah agen riset otomatis berbasis Large Language Model (LLM) yang dirancang untuk melakukan pencarian, pengumpulan, dan sintesis informasi dari web secara terstruktur, kemudian menyajikan laporan lengkap dengan sitasi yang dapat ditelusuri.

Untuk menjalankan GPT Researcher menggunakan Docker, berikut adalah spesifikasi minimum yang direkomendasikan:

Komponen Rekomendasi Minimum Catatan
CPU 2 vCPU (dual-core) Lebih banyak core dapat mempercepat pemrosesan paralel.
RAM 4 GB 8 GB atau lebih dianjurkan jika sering melakukan riset berskala besar.
Storage 50–120 GB Digunakan untuk image Docker, log, dan cache.

Anda juga perlu menyiapkan API Key untuk layanan berikut:

  • OpenRouter – untuk AI Research
  • Google AI Studio – untuk Embedding
  • Tavily – untuk Web Scraper

Instalasi Docker
#

Debian/Ubuntu
#

curl -fsSL https://get.docker.com | sh
sudo systemctl enable --now docker

RHEL-based (misalnya Rocky Linux 9)
#

sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
sudo dnf -y -q --best install docker-ce docker-ce-cli containerd.io docker-compose-plugin docker-ce-rootless-extras docker-buildx-plugin docker-model-plugin
sudo systemctl enable --now docker

Setup GPT Researcher
#

Clone repository GPT Researcher:

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

Buat file .env kemudian isi dengan konfigurasi berikut:

##
# gpt-researcher
##
OPENROUTER_API_KEY=sk-or-v1-xxxx
OPENAI_API_KEY=sk-or-v1-xxxx
OPENAI_BASE_URL=https://openrouter.ai/api/v1

FAST_LLM=openrouter:google/gemini-2.0-flash-lite-001
SMART_LLM=openrouter:google/gemini-2.0-flash-001
STRATEGIC_LLM=openrouter:google/gemini-2.5-pro

OPENROUTER_LIMIT_RPS=1  # Rate limit (request per second)

EMBEDDING=google_genai:models/gemini-embedding-001  # OpenRouter tidak mendukung embedding; gunakan Google (gratis)
GOOGLE_API_KEY=xxxx

SCRAPER="tavily_extract"
TAVILY_API_KEY=tvly-xxxx
LOGGING_LEVEL=INFO
DOC_PATH=./my-docs
LANGUAGE=indonesia
WORKERS=1

##
# gptr-nextjs
##
# NEXT_PUBLIC_GPTR_API_URL=   # Default ke localhost:8000 jika dikosongkan
NEXT_PUBLIC_GA_MEASUREMENT_ID=
LANGCHAIN_API_KEY=
CHOKIDAR_USEPOLLING=true

Update file docker-compose.yml menjadi seperti berikut:

services:
  gpt-researcher:
    pull_policy: build
    image: gptresearcher/gpt-researcher
    build: ./
    env_file:
      - .env
    volumes:
      - ${PWD}/my-docs:/usr/src/app/my-docs:rw
      - ${PWD}/outputs:/usr/src/app/outputs:rw
      - ${PWD}/logs:/usr/src/app/logs:rw
    user: root
    restart: always
    ports:
      - 8000:8000

  gptr-nextjs:
    pull_policy: build
    image: gptresearcher/gptr-nextjs
    stdin_open: true
    env_file:
      - .env
    build:
      dockerfile: Dockerfile.dev
      context: frontend/nextjs
    volumes:
      - /app/node_modules
      - ./frontend/nextjs:/app
      - ./frontend/nextjs/.next:/app/.next
      - ./outputs:/app/outputs
    restart: always
    ports:
      - 3000:3000

Tambahkan modul embedding untuk Google GenAI di requirements.txt:

langchain-google-genai

Jalankan GPT Researcher:

docker compose up -d

Periksa apakah container berjalan dengan baik:

docker compose ps

Setelah container aktif, buka:

  • Frontend UI GPT Researcherhttp://localhost:3000
  • API backend (Swagger/OpenAPI)http://localhost:8000/docs (jika di-expose)

Referensi:

Related

Install Docker
·4 mins
docker linux docker
Setup Public API iptoasn dengan Docker
·1 min
docker docker
Using docker init to Write Dockerfile
·1 min
docker docker
Install Portainer CE
·1 min
docker docker
Setting Up Private Registry Using Harbor
·4 mins
docker docker kubernetes
Setting Memory dan CPU di Docker
·1 min
docker docker