A ChatGPT plugin that enables you to use AWS with natural language.
Note: This is not an AWS product. This is an open source project enabling ChatGPT to use AWS.
This project is on hold (for now). After successfully code-generating just
the
Amazon S3 service openapi.yaml
file, I realized that OpenAI applies the same limit on the length of the file as it does to normal text input, which is 8K tokens as of 07/02/2023. This corresponds to roughly 50 APIs, which is not enough to do anything meaningful with AWS' 200+ services.
This project will resume once the token limit increases to a more reasonable amount!
To run this yourself, you will need access to ChatGPT plugins.
Clone the repository and run vercel
. Configure the deployment to your vercel
account.
After it's deployed, go to ChatGPT and select the "Plugins" dropdown. Go to "Plugin store" --> "Develop your own plugin" and paste the URL of the Vercel deployment.
Start a new chat and enable the plugin you've just installed. First, you must provide your credentials to the plugin. After that, you can start making requests. Note only a few operations are supported at this time.
Note as of 04/30/23 the plugin URL is required to be HTTPS. If that requirement ever becomes less strict, you could run the server locally using python ./api/index.py
and point ChatGPT to localhost:5000
instead of the Vercel deployment.
Human: Access Key ID: REDACTED Secret Access Key: REDACTED
ChatGPT: Great! I am now authenticated with your AWS account. How can I assist you with AWS services today?
Human: Can you make a bucket "matas-plugin-test-bucket"
ChatGPT: The S3 bucket "matas-plugin-test-bucket" has been successfully created. Is there anything else you would like me to do with AWS services?
Human: Can you tell me the number of objects currently in that bucket
ChatGPT: The S3 bucket "matas-plugin-test-bucket" currently contains 0 objects. Is there anything else you would like me to do with AWS services?
Human: Can you Base64 encode the text "Hello, ChatGPT!" and upload that to the bucket with the key "hello-chatgpt"
ChatGPT: The text "Hello, ChatGPT!" has been successfully Base64 encoded and uploaded to the S3 bucket "matas-plugin-test-bucket" with the key "hello-chatgpt". Is there anything else you would like me to do with AWS services?
Human: What is the number of objects in the bucket now?
ChatGPT: The S3 bucket "matas-plugin-test-bucket" currently contains 1 object with the key "hello-chatgpt". Is there anything else you would like me to do with AWS services?
Human: Can you get that object and display the contents?
ChatGPT: The content of the object with the key "hello-chatgpt" in the S3 bucket "matas-plugin-test-bucket" is "Hello, ChatGPT!". Is there anything else you would like me to do with AWS services?
Currently only a handful of S3 operations are supported:
- CreateBucket
- ListObjects
- PutObject
- GetObject
- DeleteObject
In the near future I plan to support every AWS service by code-generating ai-plugin.json
, openapi.yaml
, and the Flask server.