8000 GitHub - cbunting99/gpt-engineer: CLI platform to experiment with codegen. Precursor to: https://lovable.dev
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

cbunting99/gpt-engineer

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

gpt-engineer

GitHub Repo stars Discord Follow License GitHub Issues or Pull Requests GitHub Release Twitter Follow

The OG code genereation experimentation platform!

If you are looking for the evolution that is an opinionated, managed service – check out gptengineer.app.

If you are looking for a well maintained hackable CLI for – check out aider.

gpt-engineer lets you:

  • Specify software in natural language
  • Sit back and watch as an AI writes and executes the code
  • Ask the AI to implement improvements

Getting Started

Install gpt-engineer

For stable release:

  • python -m pip install gpt-engineer

For development:

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

We actively support Python 3.10 - 3.12. The last version to support Python 3.8 - 3.9 was 0.2.6.

Setup API key

gpt-engineer supports multiple AI service providers:

OpenAI (Default)

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

Anthropic (Claude)

  • Export env variable:
    • export ANTHROPIC_API_KEY=[your Anthropic API key]
  • .env file:
    • Add your ANTHROPIC_API_KEY to .env

Google Gemini

  • Export env variable:
    • export GOOGLE_API_KEY=[your Google API key]
  • .env file:
    • Add yo 8000 ur GOOGLE_API_KEY to .env

Model Selection

You can specify which model to use by setting the MODEL_NAME environment variable. For example:

  • OpenAI: gpt-4, gpt-3.5-turbo
  • Anthropic: claude-3-5-sonnet-20240620, claude-3-opus-20240229
  • Google: gemini-pro

Other Options

  • Custom model:
    • See docs, supports local models, Azure OpenAI, etc.

Check the Windows README for Windows usage.

Other ways to run:

Create new code (default usage)

  • 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/

Improve 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 -i from the gpt-engineer directory root with your folder in projects/

Benchmark custom agents

  • gpt-engineer installs the binary 'bench', which gives you a simple interface for benchmarking your own agent implementations against popular public datasets.
  • The easiest way to get started with benchmarking is by checking out the template repo, which contains detailed instructions and an agent template.
  • Currently supported benchmark:

The community has started work with different benchmarking initiatives, as described in this Loom video.

Research

Some of our community members have worked on different research briefs that could be taken further. See this document if you are interested.

Terms

By running gpt-engineer, you agree to our terms.

Relation to gptengineer.app (GPT Engineer)

gptengineer.app is a commercial project for the automatic generation of web apps. It features a UI for non-technical users connected to a git-controlled codebase. The gptengineer.app team is actively supporting the open source community.

Features

Pre Prompts

You can specify the "identity" of the AI agent by overriding the preprompts folder with your own version of the preprompts. You can do so via the --use-custom-preprompts argument.

Editing the preprompts is how you make the agent remember things between projects.

Supported AI Models

gpt-engineer supports multiple AI providers:

OpenAI Models (Default)

  • GPT-4 family: Best for complex code generation tasks
  • GPT-3.5 Turbo: Faster and more cost-effective for simpler tasks
  • Azure OpenAI Service: Enterprise-ready deployment of OpenAI models

Anthropic Claude Models

  • Claude 3.5 Sonnet: Latest model with enhanced code generation capabilities
  • Claude 3 Opus: High-performance model for complex reasoning
  • Claude 3 Sonnet/Haiku: More cost-effective options with varying capabilities

Google Gemini Models

  • Gemini Pro: Google's advanced model for code generation and reasoning

Open Source Models

With additional setup, you can run with open-source models like:

  • LLaMA, WizardCoder, and other self-hosted LLMs

See the documentation for detailed setup instructions for each provider.

Vision

By default, gpt-engineer expects text input via a prompt file. It can also accept image inputs for vision-capable models. This can be useful for adding UX or architecture diagrams as additional context for GPT Engineer. You can do this by specifying an image directory with the —-image_directory flag and setting a vision-capable model in the second CLI argument.

E.g. gpte projects/example-vision gpt-4-vision-preview --prompt_file prompt/text --image_directory prompt/images -i

Open source, local and alternative models

By default, gpt-engineer supports OpenAI Models via the OpenAI API or Azure OpenAI API, as well as Anthropic models.

With a little extra setup, you can also run with open source models like WizardCoder. See the documentation for example instructions.

Mission

The gpt-engineer community mission is to maintain tools that coding agent builders can use and facilitate collaboration in the open source community.

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

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

gpt-engineer is governed by a board of long-term contributors. If you contribute routinely and have an interest in shaping the future of gpt-engineer, you will be considered for the board.

Significant contributors

Example

reduced.mov

About

CLI platform to experiment with codegen. Precursor to: https://lovable.dev

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 98.8%
  • Other 1.2%
0