Skip to content

Using GPT Pilot with OpenAI

Weston Ludeke edited this page Aug 8, 2024 · 8 revisions

Note: This article is for using GPT Pilot locally via the terminal. For info on how to use your own API key via the Pythagora VS Code extension, read this article.

0 - Be sure to first follow the steps in How to start using GPT Pilot from the GPT Pilot README to setup GPT Pilot via the terminal.

1 - Go to the OpenAI website and get an API key.

2 - If you haven't already, in your cloned GPT Pilot repo, make a copy of the example-config.json file and name it config.json.

3 - Edit the new config.json file's llm section and also remove the other providers that you're not using:

"llm": {
  "openai": {
    "base_url": "https://api.openai.com/v1/",
    "api_key": "sk-your-api-key",

4 - Update the models section of the config.json file for OpenAI (if not already set as openai by default). Note: This is example code, you'll need to double-check the official OpenAI documentation for the most recent model info:

"agent": {
    "default": {
      "provider": "openai",
      "model": "gpt-4o-2024-05-13",
      "temperature": 0.5
    },

5 - That's it! Just in case, here's an example config.json file (with the API key removed):

{
  "llm": {
    "openai": {
      "base_url": "https://api.openai.com/v1/",
      "api_key": "xxxxxx",
      "connect_timeout": 60.0,
      "read_timeout": 10.0,
      "extra": null
    }
  },
  "agent": {
    "default": {
      "provider": "openai",
      "model": "gpt-4-0125-preview",
      "temperature": 0.5
    },
    "CodeMonkey.describe_files": {
      "provider": "openai",
      "model": "gpt-3.5-turbo",
      "temperature": 0.0
    },
    "Troubleshooter.get_route_files": {
      "provider": "openai",
      "model": "gpt-4o",
      "temperature": 0.0
    }
  },
  "prompt": {
    "paths": [
      "/Users/username/projects/gpt-pilot/core/prompts"
    ]
  },
  "log": {
    "level": "DEBUG",
    "format": "%(asctime)s %(levelname)s [%(name)s] %(message)s",
    "output": "pythagora.log"
  },
  "db": {
    "url": "sqlite+aiosqlite:///pythagora.db",
    "debug_sql": false
  },
  "ui": {
    "type": "plain"
  },
  "fs": {
    "type": "local",
    "workspace_root": "/username/projects/gpt-pilot/workspace",
    "ignore_paths": [
      ".git",
      ".gpt-pilot",
      ".idea",
      ".vscode",
      ".next",
      ".DS_Store",
      "__pycache__",
      "site-packages",
      "node_modules",
      "package-lock.json",
      "venv",
      ".venv",
      "dist",
      "build",
      "target",
      "*.min.js",
      "*.min.css",
      "*.svg",
      "*.csv",
      "*.log",
      "go.sum",
      "migration_lock.toml"
    ],
    "ignore_size_threshold": 50000
  }
}