Giter Club home page Giter Club logo

openai-autogen-dev-studio's Introduction

OADS - OpenAI Autogen Development Studio

Generate games and programs using OpenAI agents. Built on top of Microsoft Autogen.

⚠️ Work In Progress
The current code works but:

  • THERE ARE, AND THERE WILL BE, BREAKING CHANGES:
    • Always check that your hidden .env.jsonc file match the last env.sample.jsonc structure.
    • Always update your dependencies via poetry install.
  • A lot of thing need to be optimized in order to drastically reduce tokens usage: caching, steps-by-step process, conversation splitting, better prompts.
  • The code needs some cleaning up.
  • Microsoft Autogen is still in early stage and contains a few bugs.
  • A lot of hard-coded stuff could be customizable via config files.
  • I will only focus on a few programming languages at first.


Why this project?

There are some amazing projects doing similar things but I hope to find a way to solve ambitious programs generation.

Getting Started

Pre-requisites

You either need an OpenAI API key or an Azure OpenAI API key.

Do not rely on GPT-3.5, whether turbo or standard, for more than just "sample" programs. If you're aiming for more complex applications, GPT-4 is a must, preferably even GPT-4-32k.

Using the OpenAI API might quickly exhaust your token limit. For more extensive projects, Azure OpenAI API is recommended.

Be mindful of costs if you have ambitious goals! Always monitor tokens usage and what your agents are doing. While AI can be a powerful tool, it isn't necessarily cheaper than hiring real developers — yet 🙄.

Anaconda

1/3 Installation

conda create -n autogen python=3.10
conda activate autogen
pip install poetry
poetry install
cp env.sample.jsonc env.jsonc

2/3 Configuration

Edit your env.json to add your API keys and customize your installation.

3/3 Run

Just:

make run

OADS will automatically generate the program source code in ./project directory.

You can clean it via:

make clean

Open Source LLMs

IMPORTANT: Functions will NOT work.

1/2 Run Text generation web UI

From what I tested, Autogen seems to work with any Open Source LLM supported by Text generation web UI.

You just have to enable openai extension in "Session" tab of the web UI:

Text generation web UI screenshot

Be sure to have your 5001 port open or binded if it's a remote server since this is where the OpenAI-like API will be exposed.

I personally deploy my current models on RunPod (not affiliated) and use thebloke/cuda11.8.0-ubuntu22.04-oneclick:latest image even though I think it seems a bit outdated regarding llama.cpp & co.

2/2 Setup OADS

  "models": [
    // Custom deployment of (for example) `Open-Orca/Mistral-7B-OpenOrca`
    // using "Text generation web UI" with `OpenAI` extension enabled:
    // https://github.com/oobabooga/text-generation-webui/tree/main/extensions/openai#an-openedai-api-openai-like
    // This can be any inference endpoint compatible following OpenAI API specs,
    // regardless of the model you use behind it.
    {
      "model": "Open-Orca/LlongOrca-13B-16k",
      "api_base": "http://localhost:5001", // Or your remote server URL
      "api_key": "sk-111111111111111111111111111111111111111111111111",
      "api_type": "open_ai"
    }
  ],

openai-autogen-dev-studio's People

Contributors

ivangabriele avatar renovate[bot] avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

openai-autogen-dev-studio's Issues

Dependency Dashboard

This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.

Open

These updates have all been created already. Click a checkbox below to force a retry/rebase of any.

Detected dependencies

github-actions
.github/workflows/check.yml
  • actions/checkout v4
  • actions/setup-python v5
  • snok/install-poetry v1
  • actions/checkout v4
  • actions/setup-python v5
  • snok/install-poetry v1
pep621
pyproject.toml
poetry
pyproject.toml
  • beautifulsoup4 ^4.12.2
  • dacite ^1.8.1
  • ipython ^8.16.0
  • jsonc-parser ^1.1.5
  • python ^3.10
  • requests ^2.31.0
  • termcolor ^2.3.0
  • pylint ^3.0.1
  • pytest ^7.4.2
  • pytest-mock ^3.11.1

  • Check this box to trigger a request for Renovate to run again on this repository

Cant make on windows

Can run on windows unfortunately, get the error:
ModuleNotFoundError: No module named 'termios'

and termios wont run non unix, is there a work around?

Seemingly can't find any functions?

Hi,

First of all, nice project! It looks very promising. I've been playing with autogen for a couple weeks now and just stumbled across your project. I've configured it to use GPT-4 however it's getting stuck/failing whenever it tries to call any function despite all the functions existing..

Eg:

***** Response from calling function "write_file" *****
Error: Function write_file not found.

Not quite sure what's wrong. Is this a known bug? I looked into the constants.py file and I can see all the functions are indeed there and they are being imported into main.py so I'm fairly confused at this point.

Any help would be appreciated. Thanks in advance,

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.