π GPT Researcher
GPT Researcher is an autonomous agent designed for comprehensive online research on a variety of tasks.
The agent can produce detailed, factual and unbiased research reports, with customization options for focusing on relevant resources, outlines, and lessons. Inspired by the recent Plan-and-Solve and RAG papers, GPT Researcher addresses issues of speed, determinism and reliability, offering a more stable performance and increased speed through parallelized agent work, as opposed to synchronous operations.
Our mission is to empower individuals and organizations with accurate, unbiased, and factual information by leveraging the power of AI.
The main idea is to run "planner" and "execution" agents, whereas the planner generates questions to research, and the execution agents seek the most related information based on each generated research question. Finally, the planner filters and aggregates all related information and creates a research report.
The agents leverage both gpt3.5-turbo and gpt-4-turbo (128K context) to complete a research task. We optimize for costs using each only when necessary. The average research task takes around 3 minutes to complete, and costs ~$0.1.
More specifically:
Please see here for full documentation on:
Step 0 - Install Python 3.11 or later. See here for a step-by-step guide.
Step 1 - Download the project and navigate to its directory. You'll encounter two options: Virtual Environment and Poetry. Select either Step-2 or Step-3 based on your familiarity with each.:
git clone https://github.com/assafelovic/gpt-researcher.git
cd gpt-researcher
Step 2 - ππ Virtual Environment π‘οΈ.
Create a virtual environment using the venv
package with the environment name <your_name>
, for example, env
. Execute the following command in the PowerShell/CMD terminal:
python -m venv env
To activate the virtual environment, use the following activation script in PowerShell/CMD terminal:
.\env\Scripts\activate
To deactivate the virtual environment, run the following deactivation script in PowerShell/CMD terminal:
deactivate
After activating the env
environment, install dependencies using the requirements.txt
file with the following command:
python -m pip install -r requirements.txt
Step 3 - ππ Poetry π
~1.7.1
Install project dependencies and simultaneously create a virtual environment for the specified project. By executing this command, Poetry reads the project's "pyproject.toml" file to determine the required dependencies and their versions, ensuring a consistent and isolated development environment. The virtual environment allows for a clean separation of project-specific dependencies, preventing conflicts with system-wide packages and enabling more straightforward dependency management throughout the project's lifecycle.
poetry install
By running this command, the user enters a shell session within the isolated environment associated with the project, providing a dedicated space for development and execution. This virtual environment ensures that the project dependencies are encapsulated, avoiding conflicts with system-wide packages. Activating the Poetry shell is essential for seamlessly working on a project, as it ensures that the correct versions of dependencies are used and provides a controlled environment conducive to efficient development and testing.
poetry shell
Step 4 - Set up API keys using two methods: exporting them directly and storing them in a
.env
file.
For Linux/Temporary Windows Setup, use the export method:
export OPENAI_API_KEY={Your OpenAI API Key here}
export TAVILY_API_KEY={Your Tavily API Key here}
For a more permanent setup, create a .env
file in the current gpt-researcher
folder and input the keys as follows:
OPENAI_API_KEY={Your OpenAI API Key here}
TAVILY_API_KEY={Your Tavily API Key here}
"duckduckgo"
, "googleAPI"
, "googleSerp"
, or "searx"
. Then add the corresponding env API key as seen in the config.py file.Step 5 - Launch the FastAPI application agent on a Virtual Environment or Poetry setup by executing the following command:
python -m uvicorn main:app --reload
WeasyPrint
software on your local machine by using the GTK for Windows Runtime Environment Installer.Step 6 - Visit http://localhost:8000 in any web browser and explore your research!
To learn how to get started with Docker or to learn more about the features and services check out the documentation page.
We highly welcome contributions! Please check out contributing if you're interested.
Please check out our roadmap page and reach out to us via our Discord community if you're interested in joining our mission.
This project, GPT Researcher, is an experimental application and is provided "as-is" without any warranty, express or implied. We are sharing codes for academic purposes under the MIT license. Nothing herein is academic advice, and NOT a recommendation to use in academic or research papers.
Our view on unbiased research claims:
Please note that the use of the GPT-4 language model can be expensive due to its token usage. By utilizing this project, you acknowledge that you are responsible for monitoring and managing your own token usage and the associated costs. It is highly recommended to check your OpenAI API usage regularly and set up any necessary limits or alerts to prevent unexpected charges.
Author: assafelovic
Source Code: https://github.com/assafelovic/gpt-researcher
License: MIT license