Inspiration
I was having a difficult time setting up my macbook to build a ChatGPT app. I understood how to use the chat interface and how to build APIs in other languages but I didn't have the correct version of Python, I didn't know what other Python things had to be setup. I just wanted a starter kit environment that could get me going right away.
What it does
- The template sets up an environment with some basic endpoints for integrating ChatGPT so you can quickly build on top of an existing API
- It's self-documenting meaning every time you add a new endpoint or change it, /docs will show those changes
- /docs is a swagger powered API playground to allow you and others experiment and try out APIs without needing to set up clients or scripts
- There's a script to perform automatic reload so that you can do live development and see your changes instantly on the environment.
How I built it
Setup Docker files for the containers and created a basic FastAPI backend. I also set the OPENAI_API_KEY as an environment variable so that it can be changed and set without leaking keys in the source code.
Challenges we ran into
I had a lot of challenges setting up my computer because I had not written any Python applications before. I didn't understand all the steps required to add Python libraries, setup environments. It was much easier to setup a Docker container than change my local computer.
Accomplishments that I'm proud of
Setting up a shell script to enable live and automatic reloading during the remote development. Nodejs applications have a concept of a live reload/rebuild so the developer doesn't have to stop/restart every time to see the changes. The parameters are set to watch the directory changes so file saving is all that's needed to trigger a reload. It seems simple because it should be.
What I learned
The usefulness of environments as a service - with these templates it can make it really easy for any developer to work on the application. They can pretty much leave their machine as is and work on completely different projects.
What's next for ChatGPT Starter Kit for BunnyShell
Possibly add other LLM integrations like ChromaDB for document embeddings.
Built With
- chatgpt
- fastapi
- python


Log in or sign up for Devpost to join the conversation.