Spaces:
Sleeping
Beyond-ChatGPT
Chainlit App using Python streaming for Level 0 MLOps
LLM Application with Chainlit, Docker, and Huggingface Spaces In this guide, we'll walk you through the steps to create a Language Learning Model (LLM) application using Chainlit, then containerize it using Docker, and finally deploy it on Huggingface Spaces.
Prerequisites A GitHub account Docker installed on your local machine A Huggingface Spaces account
Building our App
Clone this repo.
git clone https://github.com/AI-Maker-Space/Beyond-ChatGPT.git
Navigate inside this repo
cd Beyond-ChatGPT
Install the packages required for this python envirnoment in requirements.txt
.
pip install -r requirements.txt
Open your .env
file. Replace the ###
in your .env
file with your OpenAI Key and save the file.
OPENAI_API_KEY=sk-###
Let's try deploying it locally. Make sure you're in the python environment where you installed Chainlit and OpenAI.
Run the app using Chainlit
chainlit run app.py -w
Great work! Let's see if we can interact with our chatbot.
Time to throw it into a docker container a prepare it for shipping
Build the Docker image. We'll tag our image as llm-app
using the -t
parameter. The .
at the end means we want all of the files in our current directory to be added to our image.
docker build -t llm-app .
Run and test the Docker image locally using the run
command. The -p
parameter connects our host port # to the left of the :
to our container port # on the right.
docker run -p 7860:7860 llm-app
Visit http://localhost:7860 in your browser to see if the app runs correctly.
Great! Time to ship!
Deploy to Huggingface Spaces
Make sure you're logged into Huggingface Spaces CLI
huggingface-cli login
Follow the prompts to authenticate.
Deploy to Huggingface Spaces
Deploying on Huggingface Spaces using a custom Docker image involves using their web interface. Go to Huggingface Spaces and create a new space, then set it up to use your Docker image from the Huggingface Container Registry.
Access the Application
Once deployed, access your app at:
ruby Copy code https://huggingface.co/spaces/your-username/llm-app Conclusion You've successfully created an LLM application with Chainlit, containerized it with Docker, and deployed it on Huggingface Spaces. Visit the link to interact with your deployed application.