AutoGPT icon indicating copy to clipboard operation
AutoGPT copied to clipboard

Centralize all of our prompts in one place so people can change it easily

Open waynehamadi opened this issue 2 years ago • 11 comments
trafficstars

Duplicates

  • [X] I have searched the existing issues

Summary 💡

We need help from someone to put all of our prompts (text format) in a centralized place visible to everyone. This way people can beat the challenges just by modifying one central place

If interested helping with that please DM me. Discord (merwanehamadi) Join Auto-GPT's discord channel: https://discord.gg/autogpt

waynehamadi avatar May 05 '23 18:05 waynehamadi

I suggest putting the prompts into a dictionary-like config file. I frequently use JSON and YAML for this.

anonhostpi avatar May 05 '23 18:05 anonhostpi

I also recommend storing the prompts as format/template-strings so they can be formatted dynamically

anonhostpi avatar May 05 '23 18:05 anonhostpi

@Eggrolling-hu is going to take it

waynehamadi avatar May 07 '23 01:05 waynehamadi

I also recommend storing the prompts as format/template-strings so they can be formatted dynamically

As mentioned elsewhere, ideally we'd support a dedicated sub-folder for "prompt profiles" with the corresponding json to map directories to each profile - that way, we can have our cake and eat it, and still close 10+ PRs in the process, because these would then all become custom prompt profiles - without any chance to step on anyone's toe. Besides, this would also mean having 10+ different ways to benchmark/test the system in conjunction with different prompts EASILY: https://github.com/Significant-Gravitas/Auto-GPT/pull/1874#issuecomment-1537191222

  • #3954

Dynamic prompts (#3937) will particularly benefit from this capability

Boostrix avatar May 07 '23 07:05 Boostrix

@Boostrix yeah great idea. could you create an issue for prompt profiles ?

waynehamadi avatar May 07 '23 13:05 waynehamadi

@Boostrix yeah great idea. could you create an issue for prompt profiles ?

  • #3954

Boostrix avatar May 07 '23 14:05 Boostrix

There was already my PR, for a couple of weeks ago. #3375 My idea wasn't just moving the prompts in a separate file, i wanted to make them configurable. I used a yaml file, more or less the same code already used for the ai_config file.

I also like Boostrix's idea, and it would be already compatibile with my PR without changing a single bit.

And yes, we can expand it by moving the prompt config files in a different folder and maybe also adding new files for different situations for covering #3937

DGdev91 avatar May 08 '23 06:05 DGdev91

My thought was one top level directory with a Json that then links up sub directories to give those a symbolic name. If this top level directory could be set via a CLI arg or env var, people could also tinker with separate prompt configs outside the project tree

Boostrix avatar May 08 '23 06:05 Boostrix

My thought was one top level directory with a Json that then links up sub directories to give those a symbolic name. If this top level directory could be set via a CLI arg or env var, people could also tinker with separate prompt configs outside the project tree

My PR already allows to set the config file to use both in .env and by the CLI (--prompt-settings or -P)

I don't understand why the sub-folder + json structure. We can just set different yaml files as config when needed and put them where we want

DGdev91 avatar May 08 '23 06:05 DGdev91

It was my understanding that prompt configs may span over several files - at which point a folder would seem natural (sharing / maintenance etc) - it's frankly also what I am used to when it comes to thinking about a profile of a complex app (Firefox, libre Office etc). But maybe you're right and a single yaml will suffice?

i18n of a use case specific prompt file set would spring to mind?

Also the dynamic prompting idea is all about adapting prompts as needed, which might involve switching within an active profile?

Boostrix avatar May 08 '23 07:05 Boostrix

Let's talk about this in #3954

DGdev91 avatar May 08 '23 07:05 DGdev91

This issue has automatically been marked as stale because it has not had any activity in the last 50 days. You can unstale it by commenting or removing the label. Otherwise, this issue will be closed in 10 days.

github-actions[bot] avatar Sep 06 '23 20:09 github-actions[bot]

This issue was closed automatically because it has been stale for 10 days with no activity.

github-actions[bot] avatar Sep 17 '23 01:09 github-actions[bot]