GitHub - gpt-engineer-org/gpt-engineer: Experimenting with AI Software Engineering
This GitHub repository, gpt-engineer-org/gpt-engineer
, provides a terminal-based platform designed for experimentation with AI software engineering. It's distinct from the web application gptengineer.app
. This tool allows users to specify software requirements in natural language, and then uses AI to generate and execute the corresponding code. It also offers capabilities to request AI-driven improvements to existing code.
Key Features
- Natural Language Specification: Define software requirements using plain English.
- AI-Powered Code Generation: The AI generates code based on your specifications.
- Code Improvement Suggestions: Request the AI to suggest improvements to existing code.
- Support for Multiple Models: Works with various AI models, including OpenAI, Azure OpenAI, and Anthropic models, and even allows for integration with open-source models like WizardCoder.
- Custom Pre-Prompts: Users can customize the AI's behavior by modifying pre-prompt files.
- Vision Capabilities: Supports image inputs for context, enabling the use of diagrams for improved code generation.
- Benchmarking: Includes a
bench
binary for benchmarking custom agent implementations. - Open Source and Community Driven: Actively maintained and improved by a collaborative open-source community.
Getting Started
- Installation: Install using
python -m pip install gpt-engineer
(stable) or clone the repository and usepoetry
for development. - API Key Setup: Configure your OpenAI API key via environment variables, a
.env
file, or by specifying a custom model. - Creating New Code: Create a
prompt
file with your instructions and rungpte <project_dir>
. - Improving Existing Code: Use the
-i
flag withgpte <project_dir>
to improve existing code. - Benchmarking Custom Agents: Use the
bench
command to benchmark your agents.
Differences from gptengineer.app
While related, gpt-engineer
(this repository) is a command-line tool focused on experimentation and flexibility, while gptengineer.app
is a commercial, user-friendly web application for generating web apps.
Community and Contributions
The project thrives on community contributions. The roadmap outlines future goals, and the community actively participates in development and improvement.
Conclusion
gpt-engineer
offers a powerful and flexible platform for exploring the capabilities of AI in software engineering. Its open-source nature and active community ensure continuous improvement and expansion of its features.