Code Clinic | Hosting your ChatGPT Clone on Streamlit Cloud (and local)
When you want to show your agent to the world but your front-end dev skills suck
Intro
You have developed this really amazing app that you want to show the world.
Now what? Many people, myself included, have terrible front-end skills. What to do in this situation?
Since I didn’t know either, I asked Reddits Langchain community to give their advice. The most recommended solution was streamlit ahead of gradio, huggingface spaces, and chainlit. So I figured, streamlit is the way to go.
Streamlit
As I learned, Streamlit Cloud is a managed platform for deploying and managing streamlit apps. This makes it easy to deploy my apps online and is based on an open-source framework. Streamlit Cloud is a commercial product there is a free tier — that’s the one I used for this.
The downside is that it’s built on top of Google Cloud Platform. While that might give some benefit in terms of scalability and reliability (to a certain extent), one can be assured that customer service for the cloud components doesn’t exist and you can’t be certain if important components are disabled on a whim.
Ergo, Streamlit Cloud seemed to be easy enough to do the job.
How does Streamlit work?
For me, the main feature is that Streamlit converts a Python script into a web page. The biggest gotcha for me was that Streamlit reruns the Python script that defines the app every time the user (or agent) interacts with a widget.
But I am getting ahead of myself again.
If you plan to host your app on Streamlit as well, I would recommend first trying it out in a local implementation. Debugging online is really really cumbersome.
Therefore you need to install Streamlit locally. I assume that you have knowledge of Python and are not on Windows.
Let’s start building