Skip to main content

Specify what you want it to build, the AI asks for clarification, and then builds it.

Project description

GPT Engineer

Discord Follow GitHub Repo stars Twitter Follow

Specify what you want it to build, the AI asks for clarification, and then builds it.

GPT Engineer is made to be easy to adapt, extend, and make your agent learn how you want your code to look. It generates an entire codebase based on a prompt.

Project philosophy

  • Simple to get value
  • Incrementally build towards a user experience of:
    1. high level prompting
    2. giving feedback to the AI that it will remember over time
  • Fast handovers, back and forth, between AI and human
  • Simplicity, all computation is "resumable" and persisted to the filesystem

Setup

This project supports Python 3.8 - 3.11.

Choose either stable or development.

For stable release:

  • python -m pip install gpt-engineer

For development:

  • git clone https://github.com/AntonOsika/gpt-engineer.git
  • cd gpt-engineer
  • poetry install
  • poetry shell to activate the virtual environment

We have experimental support for llama-index, rank_bm25, and tree_sitter_languages.

  • poetry install --extras experimental

API Key

Choose one of:

  • Export env variable (you can add this to .bashrc so that you don't have to do it each time you start the terminal)
    • export OPENAI_API_KEY=[your api key]
  • .env file:
    • Create a copy of .env.template named .env
    • Add your OPENAI_API_KEY in .env
  • Custom model:
    • See docs, supports local model, azure, etc.

Check the Windows README for windows usage.

Other ways to run:

Usage

There are two ways to work with GPT-engineer: new code mode (the default), and improve existing code mode (the -i option).

Creating new code

  • Create an empty folder for your project anywhere on your computer
  • Create a file called prompt (no extension) inside your new folder and fill it with instructions
  • Run gpte <project_dir> with a relative path to your folder
    • For example: gpte projects/my-new-project from the gpt-engineer directory root with your new folder in projects/

Improving Existing Code

  • Locate a folder with code which you want to improve anywhere on your computer
  • Create a file called prompt (no extension) inside your new folder and fill it with instructions for how you want to improve the code
  • Run gpte <project_dir> -i with a relative path to your folder
    • For example: gpte projects/my-old-project from the gpt-engineer directory root with your folder in projects/

By running gpt-engineer you agree to our terms.

Note

  • To run this tool, the new command gpte is recommended for better user experience. However, the earlier default commands gpt-engineer and ge are also supported.

Features

You can specify the "identity" of the AI agent by editing the files in the preprompts folder.

Editing the preprompts, and evolving how you write the project prompt, is how you make the agent remember things between projects.

You can also automatically copy all preprompts files into your project folder using the cli parameter --use-custom-prepompts. This way you can have custom preprompts for all of your projects without the need to edit the main files.

Each step in steps.py will have its communication history with GPT4 stored in the logs folder, and can be rerun with scripts/rerun_edited_message_logs.py.

You can also run with open source models, like WizardCoder. See the documentation for example instructions.

Vision

The gpt-engineer community is building the open platform for devs to tinker with and build their personal code-generation toolbox.

If you are interested in contributing to this, we would be interested in having you.

If you want to see our broader ambitions, check out the roadmap, and join discord to get input on how you can contribute to it.

We are currently looking for more maintainers and community organizers. Email anton.osika@gmail.com if you are interested in an official role.

Example

https://github.com/AntonOsika/gpt-engineer/assets/4467025/40d0a9a8-82d0-4432-9376-136df0d57c99

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

gpt_engineer-0.2.3.tar.gz (46.0 kB view details)

Uploaded Source

File details

Details for the file gpt_engineer-0.2.3.tar.gz.

File metadata

  • Download URL: gpt_engineer-0.2.3.tar.gz
  • Upload date:
  • Size: 46.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.11.7

File hashes

Hashes for gpt_engineer-0.2.3.tar.gz
Algorithm Hash digest
SHA256 79f8c468ae8638ec4e8c0a3a42ee76f8ebddf99e2c175478b48a1706bf9202f8
MD5 6a1e7338c207a2cb8aa371def44f413b
BLAKE2b-256 ae50ca295a312bfd53491e2be8cd53cd5e447d965dde99e8d8158b3ba49443ca

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page