Skip to content
This repository has been archived by the owner on Jul 4, 2024. It is now read-only.

Commit

Permalink
Updating readme
Browse files Browse the repository at this point in the history
  • Loading branch information
Luke committed Sep 15, 2023
1 parent 275fc21 commit 911937c
Show file tree
Hide file tree
Showing 2 changed files with 55 additions and 21 deletions.
66 changes: 48 additions & 18 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,31 +1,61 @@
# What's Turbo
# Turbo: An Enhanced Auto-GTP v0.4.7 Fork

Turbo's an Auto-GTP v0.4.7 fork that adds the following enhancements:
Turbo is a fork of Auto-GTP v0.4.7, offering the following improvements:

#. Faster, cheaper GPT-4 support: 3X cheaper and 2X faster than the default Auto-GPT 0.4.7
#. Better pair coder: I use Auto-GPT to help with coding. The goal is to enable it to work on bigger, more complex software projects
#. Multiple Personas: Choose the best "flavor" of Auto-GPT specialized for your task.
#. Multi-Agent support: Enables Auto-GPT to launch additional agents to complete specific tasks
#. Composability: easy way to create custom personas and prompts, and to pre-configure a multi-agent setup. I intend to provide some pre-configured setups for co-operation, adversity, various personalities, etc.
## Features

## Research
- **Cost and Speed**: GPT-4 support that's 66% cheaper and 2X faster than the original Auto-GPT v0.4.7.
- **Improved Code Generation**: The 'coder.v2' persona offers improved support for coding projects.
- **Multiple Personas**: Choose from specialized configurations tailored for specific tasks.
- **Multi-Agent Support**: Deploy additional agents to accomplish specific tasks.
- **Composability**: Configure multi-agent setups and custom personas easily.

Some of these enhancements have come out of my desire to make it easier to setup and test various scenarios using Auto-GPT. My current area of interest are [multi-persona prompting](https://www.prompthub.us/blog/exploring-multi-persona-prompting-for-better-outputs), various multi-agent configurations and various memory extending techniques that do not involve third party software. I'm also exploring Auto-GPT as a conductor or orchestrator of other agents.
## Compatibility
- **Optimized for**: `gpt-4-0314`
- **Variable Performance**: Results may differ when used with other GPT-4 models.
- **Contributions**: Pull Requests for optimization with other models are welcome.

# Faster, cheaper GPT-4
## Installation and Setup
Git clone the Turbo repository, or use one of Auto-GPT's installation methods.

GPT-4 is way more powerful than 3.5-turbo. It experiences fewer loops and JSON formating errors. It can handle more complex tasks and is better at logic. But, it's also 10X pricier, and no where near as fast as 3.5-turbo.
## Research Interests

I believe GPT-4 shall become cheaper & faster over time, but until then, it needs all the help it can get :-D.
This fork aims to make certain aspects of AutoGTP more composable, makign it easier to test various scenarios with Auto-GPT, focusing on:
- [Multi-persona prompting](https://www.prompthub.us/blog/exploring-multi-persona-prompting-for-better-outputs)
- Multi-agent configurations
- Memory extension techniques
- Auto-GPT as a conductor or orchestrator of other agents

Turbo tries to squeeze every bit of time and cost saving out by testing various techniques including reducing verbosity of the command-json exchange
## Performance Improvements

# Better pair coding
While GPT-4 offers superior performance compared to its predecessors, it comes at a higher cost and slower speed. Turbo optimizes various aspects of the interaction between the agent and the language model, delivering significant time and cost savings. Compared to Auto-GPT v0.4.7, Turbo can up up to 66% cheaper, and twice as fast.

GPT-4 is a very capable coder already. With some help from multiple agents, preset prompts and code, Turbo's trying to push the limit of how we can get Auto-GPT to product Product Specs, Documentation & actual working code.
## Coding with Turbo

I've added an examples folder that showcases some of the code output. More to come!
Turbo aims to extend Auto-GPT's coding capabilities with optimized preset prompts, and specialized agents. Coder.v2 provides further improvements in this area.

# Multiple Personas
**Usage**:
```bash
python -m autogpt --persona='coder.v2'
```

This is an area of interest of mine. There are lots of recent papers on [multi-persona prompting](https://arxiv.org/pdf/2307.05300.pdf), and projects like [Synapse_COR](https://github.com/ProfSynapse/Synapse_CoR) which enables ChatGPT to call up (take on) various personalities within the same conversation.
Check out the `examples` folder for sampel code outputs.

## Personas

Specialized configurations, called "personas," can be loaded to tailor Auto-GTP's behavior for specific tasks.

**Usage**:
```bash
python -m autogpt --persona=coder.v2
```

**Available Personas**:

- `coder.engineer`
- `coder.v2`
- `turbo (default)`

## Dolly: Multi-Agent Plugin

Turbo comes bundled with Dolly, a multi-agent plugin now upgraded with the ability to reference personas. [More Details](./core_plugins/Auto-GPT-Dolly-Plugin/README.md)
10 changes: 7 additions & 3 deletions autogpt/app/cli.py
Original file line number Diff line number Diff line change
Expand Up @@ -103,7 +103,6 @@
"--personas",
"--presets",
is_flag=True,
default=True,
help="List available AI config Personas and ask the user to choose one.",
)
@click.pass_context
Expand Down Expand Up @@ -143,6 +142,10 @@ def main(
# Turbo: skip_news = True
skip_news = True

if personas:
PersonaManager.list()
return

if persona:
ai_settings, prompt_settings = PersonaManager.load(persona)
ai_name = ai_role = ai_goal = None
Expand All @@ -154,8 +157,9 @@ def main(
# Default to turbo prompts
if not (persona or persona_prompts_only or prompt_settings):
prompt_settings = PersonaManager.load_prompts("turbo")
else:
personas = False # Don't prompt for personas if we've selected one
personas = (
True # Set to True to display persona list and prompt user to choose one
)

if ctx.invoked_subcommand is None:
run_auto_gpt(
Expand Down

0 comments on commit 911937c

Please sign in to comment.