Getting Started
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
$ git clone https://github.com/assafelovic/gpt-researcher.git
$ cd gpt-researcher
Step 3 - Set up API keys using two methods: exporting them directly or 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}
- For LLM, we recommend OpenAI GPT, but you can use any other LLM model (including open sources) supported by Langchain Adapter, simply change the llm model and provider in config/config.py.
- For search engine, we recommend Tavily Search API, but you can also refer to other search engines of your choice by changing the search provider in config/config.py to
"duckduckgo"
,"googleAPI"
,"bing"
,"googleSerp"
, or"searx"
. Then add the corresponding env API key as seen in the config.py file.
Quickstart
Step 1 - Install dependencies
$ pip install -r requirements.txt
Step 2 - Run the agent with FastAPI
$ uvicorn main:app --reload
Step 3 - Go to http://localhost:8000 on any browser and enjoy researching!
Using Virtual Environment or Poetry
Select either based on your familiarity with each:
Virtual Environment
Establishing the Virtual Environment with Activate/Deactivate configuration
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
Install the dependencies for a Virtual environment
After activating the env
environment, install dependencies using the requirements.txt
file with the following command:
python -m pip install -r requirements.txt
Poetry
Establishing the Poetry dependencies and virtual environment with Poetry version ~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
Activate the virtual environment associated with a Poetry project
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
Run the app
Launch the FastAPI application agent on a Virtual Environment or Poetry setup by executing the following command:
python -m uvicorn main:app --reload
Visit http://localhost:8000 in any web browser and explore your research!
Try it with Docker
Step 1 - Install Docker
Follow instructions at https://docs.docker.com/engine/install/
Step 2 - Create .env file with your OpenAI Key or simply export it
$ export OPENAI_API_KEY={Your API Key here}
$ export TAVILY_API_KEY={Your Tavily API Key here}
Step 3 - Run the application
$ docker-compose up
Step 4 - Go to http://localhost:8000 on any browser and enjoy researching!