ChatGPT Plugin Quickstart using Python and FastAPI
This is a quickstart for sample for creating ChatGPT Plugin using GitHub Codespaces, VS Code, and Azure. The sample includes templates to deploy the plugin to Azure Container Apps using the Azure Developer CLI. To gain access to ChatGPT plugins, join waitlist here!
Getting started
- π€ One-click setup: Open a new Codespace, giving you a fully configured cloud developer environment.
- πͺ Make an API: Add routes in
main.py
, done in a few minutes even without FastAPI experience, thanks to GitHub Copilot. βΆοΈ Run, one-click again: Use VS Code's built-in Run command and open the forwarded port 8000 in your browser.- π¬ Test in ChatGPT: Copy the URL (make sure its public) and paste it in ChatGPT's Develop your own plugin flow.
- π Iterate quickly: Codespaces updates the server on each save, and VS Code's debugger lets you dig into the code execution.
Run
Run in Codespaces
-
Click here to open in GitHub Codespaces
-
Open Codespaces Ports tab, right click 8000, and make it public.
-
Copy the Codesapces address for port 8000
-
Open Chat GPT and add the plugin with the Codespaces address
-
Run a query for 'hiking boots'
Run in Dev Container
-
Click here to open in Dev Container
-
Hit F5 to start the API
-
Open Chat GPT and add the plugin with
localhost:8000
-
Run a query for 'hiking boots'
Run Locally
- Clone the repo to your local machine
git clone https://github.com/azure-samples/openai-plugin-fastapi
- Open repo in VS Code
- Create a new Python virtual environment and activate it
- Hit F5 to start the API
- Open Chat GPT and add the plugin with
localhost:8000
- Run a query for 'hiking boots'
Deploy to Azure
NOTE: If you are running locally, then you first need to install the Azure Developer CLI
Deploy with Azure Developer CLI
- Open a terminal
- Run
azd auth login
- Run
azd up
- Copy the endpoint printed to the terminal
- Open Chat GPT and add the plugin with that endpoint
- Run a query for 'hiking boots'
Deploy with GitHub Actions
NOTE: Due to a security restriction Codespaces in the browser may not work for you. If you see an error when running the following commands, then please open the project with VS Code by choosing the Connect to Codespace option.
- Fork this repo to your own account
- Open your fork in Codespaces, Dev Container or Local
- Open a terminal
- Run
azd auth login
- Run
azd pipeline config
- Click on the printed actions link. Scroll to the bottom of the logs to find the endpoint.
- Open Chat GPT and add the plugin with that endpoint
- Run a query for 'hiking boots'
Contributing
This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.opensource.microsoft.com.
When you submit a pull request, a CLA bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., status check, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.
This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact [email protected] with any additional questions or comments.
Trademarks
This project may contain trademarks or logos for projects, products, or services. Authorized use of Microsoft trademarks or logos is subject to and must follow Microsoft's Trademark & Brand Guidelines. Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship. Any use of third-party trademarks or logos are subject to those third-party's policies.