AutoGPT
AutoGPT copied to clipboard
Improve spoken command language to sound more natural.
Background
The speech feature is very helpful for monitoring Auto-GPT as it chugs through multiple commands using the y -N prompt. The current language used for speaking commands is a bit clunky, however, and a more natural choice of words would be nice.
Changes
I've added a function that takes command_name as an argument and returns a more natural sounding language string. I'm pretty sure my interpretations for each command make sense, except perhaps for do_nothing, which is not well documented. This appears to be a passive command for the model to "think" through things instead of executing an active command that actually changes something, so that's what I went with.
Documentation
The new function is simple and says what it does in the name.
Test Plan
I ran through several different scenarios with speech enabled. Note that I did not test every possible command.
PR Quality Checklist
- [x] My pull request is atomic and focuses on a single change.
- [x] I have thoroughly tested my changes with multiple different prompts.
- [x] I have considered potential risks and mitigations for my changes.
- [x] I have documented my changes clearly and comprehensively.
- [x] I have not snuck in any "extra" small tweaks changes
Sorry, I meant to add additional changes in a separate pull request. New to GitHub as a contributor, so still figuring things out. The changes are all related to the speech feature, so they could still be considered a single change, just with multiple parts.
Here are the details for the second commit:
Background
As a MacOS user, I want to be able to choose my preferred voices easily. Making the voices configurable in .env makes it easy to choose voices without have to edit code.
Changes
Added support for 3 new config variables, one for each voice option. If no voice is specified in .env, Auto-GPT will default to Allison, Ava and Samantha, which are all voices that are commonly preinstalled with MacOS, as far as I know. If the default voice specified by Auto-GPT is not installed, MacOS should default to whatever voice is set in System Settings.
Also note that I'm pretty sure this change fixes a bug with MacOS voices. Historically, some of the voices hardcoded in Auto-GPT had qualifiers like "Premium" — e.g. "Ava (Premium)" vs just "Ava". I think this is because MacOS enables users to install different versions of the same voice — standard, Enhanced, Premium, etc. In development, I was never able to get voices that had these hardcoded qualifiers to work, even if I had that particular version installed. Eventually, I found that specifying the voice without the qualifier does work, regardless of which version is installed — i.e. there is no need to specify the version, and doing so in fact appears to break the feature.
Documentation
The new code is quite simple and probably needs no documentation. I suppose the variable names could be more descriptive instead of abbreviated, but it's pretty obvious what they do.
Test Plan
I ran through several different scenarios with speech enabled. Note that I did not test every possible voice.
This pull request has conflicts with the base branch, please resolve those so we can evaluate the pull request.
Conflicts have been resolved! 🎉 A maintainer will review the pull request shortly.
Here are the details for the fourth commit:
Background
As a StreamElements API user, I want to be able to use multiple voices and to choose my preferred voices easily.
Changes
Added a new version of the BrianSpeech module named StreamElementsSpeech that supports up to 3 voices, which are configurable in the .env file. If no voice is specified in .env, Auto-GPT will default to Brian, Emma and Amy.
Documentation
Retained comments from BrianSpeech module, modified as needed for StreamElementsSpeech.
Test Plan
I ran through several different scenarios with speech enabled. Note that I did not test every possible voice.
This pull request has conflicts with the base branch, please resolve those so we can evaluate the pull request.
Conflicts have been resolved! 🎉 A maintainer will review the pull request shortly.
This pull request has conflicts with the base branch, please resolve those so we can evaluate the pull request.
This pull request has conflicts with the base branch, please resolve those so we can evaluate the pull request.
Conflicts have been resolved! 🎉 A maintainer will review the pull request shortly.
This pull request has conflicts with the base branch, please resolve those so we can evaluate the pull request.
The latest updates on your projects. Learn more about Vercel for Git ↗︎
1 Ignored Deployment
| Name | Status | Preview | Comments | Updated (UTC) |
|---|---|---|---|---|
| docs | ⬜️ Ignored (Inspect) | Visit Preview | Apr 30, 2023 5:06am |
Conflicts have been resolved! 🎉 A maintainer will review the pull request shortly.
This pull request has conflicts with the base branch, please resolve those so we can evaluate the pull request.