UmerHA 19a4c10b6e Langchain integration (#512)
* Added LangChain integration

* Fixed issue created by git checkin process

* Added ':' to characters to remove from end of file path

* Tested initial migration to LangChain, removed comments and logging used for debugging

* Tested initial migration to LangChain, removed comments and logging used for debugging

* Converted camelCase to snake_case

* Turns out we need the exception handling

* Testing Hugging Face Integrations via LangChain

* Added LangChain loadable models

* Renames "qa" prompt to "clarify", since it's used in the "clarify" step, asking for clarification

* Fixed loading model yaml files

* Fixed streaming

* Added modeldir cli option

* Fixed typing

* Fixed interaction with token logging

* Fix spelling + dependency issues + typing

* Fix spelling + tests

* Removed unneeded logging which caused test to fail

* Cleaned up code

* Incorporated feedback

- deleted unnecessary functions & logger.info
- used LangChain ChatLLM instead of LLM to naturally communicate with gpt-4
- deleted loading model from yaml file, as LC doesn't offer this for ChatModels

* Update gpt_engineer/steps.py

Co-authored-by: Anton Osika <anton.osika@gmail.com>

* Incorporated feedback

- Fixed failing test
- Removed parsing complexity by using # type: ignore
- Replace every ocurence of ai.last_message_content with its content

* Fixed test

* Update gpt_engineer/steps.py

---------

Co-authored-by: H <holden.robbins@gmail.com>
Co-authored-by: Anton Osika <anton.osika@gmail.com>
2023-07-23 23:30:09 +02:00
2023-07-09 23:04:43 +02:00
2023-07-23 23:30:09 +02:00
2023-07-23 23:30:09 +02:00
2023-07-23 23:30:09 +02:00
2023-07-08 15:35:35 +02:00
2023-06-11 18:39:06 +02:00
2023-06-22 11:28:37 +02:00
2023-07-23 23:30:09 +02:00
2023-07-23 20:22:53 +02:00
2023-07-16 17:41:40 +02:00
2023-06-26 20:03:31 +02:00
2023-07-16 17:55:56 +02:00

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.

Demo

Project philosophy

  • Simple to get value
  • Flexible and easy to add new own "AI steps". See steps.py.
  • 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

Usage

Choose either stable or development.

For stable release:

  • pip install gpt-engineer

For development:

  • git clone https://github.com/AntonOsika/gpt-engineer.git
  • cd gpt-engineer
  • pip install -e .
    • (or: make install && source venv/bin/activate for a venv)

Setup

With an OpenAI API key (preferably with GPT-4 access) run:

  • export OPENAI_API_KEY=[your api key]

To set API key on windows check the Windows README.

Run:

  • Create an empty folder. If inside the repo, you can run:
    • cp -r projects/example/ projects/my-new-project
  • Fill in the prompt file in your new folder
  • gpt-engineer projects/my-new-project
    • (Note, gpt-engineer --help lets you see all available options. For example --steps use_feedback lets you improve/fix code in a project)

By running gpt-engineer you agree to our terms.

Results

  • Check the generated files in projects/my-new-project/workspace

To run in the browser you can simply:

Open in GitHub Codespaces

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.

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.

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 organisers. Email anton.osika@gmail.com if you are interested in an official role.

Example

https://github.com/AntonOsika/gpt-engineer/assets/4467025/6e362e45-4a94-4b0d-973d-393a31d92d9b

Description
No description provided
Readme MIT 396 KiB
Languages
Python 93.5%
Makefile 6.5%