Spaces:
Sleeping
Sleeping
File size: 7,096 Bytes
f8fbb3a |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 |
---
title: BeyondChatGPT Demo
emoji: ๐
colorFrom: pink
colorTo: yellow
sdk: docker
pinned: false
app_port: 7860
---
<p align = "center" draggable=โfalseโ ><img src="https://github.com/AI-Maker-Space/LLM-Dev-101/assets/37101144/d1343317-fa2f-41e1-8af1-1dbb18399719"
width="200px"
height="auto"/>
</p>
## <h1 align="center" id="heading">:wave: Welcome to Beyond ChatGPT!!</h1>
For a step-by-step YouTube video walkthrough, watch this! [Deploying Chainlit app on Hugging Face](https://www.youtube.com/live/pRbbZcL0NMI?si=NAYhMZ_suAY84f06&t=2119)
![Beyond ChatGPT: Build Your First LLM Application](https://github.com/AI-Maker-Space/Beyond-ChatGPT/assets/48775140/cb7a74b8-28af-4d12-a008-8f5a51d47b4c)
## ๐ค Your First LLM App
> If you need an introduction to `git`, or information on how to set up API keys for the tools we'll be using in this repository - check out our [Interactive Dev Environment for LLM Development](https://github.com/AI-Maker-Space/Interactive-Dev-Environment-for-LLM-Development/tree/main) which has everything you'd need to get started in this repository!
In this repository, we'll walk you through the steps to create a Large Language Model (LLM) application using Chainlit, then containerize it using Docker, and finally deploy it on Huggingface Spaces.
Are you ready? Let's get started!
<details>
<summary>๐ฅ๏ธ Accessing "gpt-3.5-turbo" (ChatGPT) like a developer</summary>
1. Head to [this notebook](https://colab.research.google.com/drive/1mOzbgf4a2SP5qQj33ZxTz2a01-5eXqk2?usp=sharing) and follow along with the instructions!
2. Complete the notebook and try out your own system/assistant messages!
That's it! Head to the next step and start building your application!
</details>
<details>
<summary>๐๏ธ Building Your First LLM App</summary>
1. Clone [this](https://github.com/AI-Maker-Space/Beyond-ChatGPT/tree/main) repo.
``` bash
git clone https://github.com/AI-Maker-Space/Beyond-ChatGPT.git
```
2. Navigate inside this repo
``` bash
cd Beyond-ChatGPT
```
3. Install the packages required for this python envirnoment in `requirements.txt`.
``` bash
pip install -r requirements.txt
```
4. Open your `.env` file. Replace the `###` in your `.env` file with your OpenAI Key and save the file.
``` bash
OPENAI_API_KEY=sk-###
```
5. 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. This may take a minute to run.
``` bash
chainlit run app.py -w
```
<p align = "center" draggable=โfalseโ>
<img src="https://github.com/AI-Maker-Space/LLMOps-Dev-101/assets/37101144/54bcccf9-12e2-4cef-ab53-585c1e2b0fb5">
</p>
Great work! Let's see if we can interact with our chatbot.
<p align = "center" draggable=โfalseโ>
<img src="https://github.com/AI-Maker-Space/LLMOps-Dev-101/assets/37101144/854e4435-1dee-438a-9146-7174b39f7c61">
</p>
Awesome! Time to throw it into a docker container and prepare it for shipping!
</details>
<details>
<summary>๐ณ Containerizing our App</summary>
1. Let's 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.
``` bash
docker build -t llm-app .
```
2. 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.
``` bash
docker run -p 7860:7860 llm-app
```
3. Visit http://localhost:7860 in your browser to see if the app runs correctly.
<p align = "center" draggable=โfalseโ>
<img src="https://github.com/AI-Maker-Space/LLMOps-Dev-101/assets/37101144/2c764f25-09a0-431b-8d28-32246e0ca1b7">
</p>
Great! Time to ship!
</details>
<details>
<summary>๐ Deploying Your First LLM App</summary>
1. Let's create a new Huggingface Space. Navigate to [Huggingface](https://huggingface.co) and click on your profile picture on the top right. Then click on `New Space`.
<p align = "center" draggable=โfalseโ>
<img src="https://github.com/AI-Maker-Space/LLMOps-Dev-101/assets/37101144/f0656408-28b8-4876-9887-8f0c4b882bae">
</p>
2. Setup your space as shown below:
- Owner: Your username
- Space Name: `llm-app`
- License: `Openrail`
- Select the Space SDK: `Docker`
- Docker Template: `Blank`
- Space Hardware: `CPU basic - 2 vCPU - 16 GB - Free`
- Repo type: `Public`
<p align = "center" draggable=โfalseโ>
<img src="https://github.com/AI-Maker-Space/LLMOps-Dev-101/assets/37101144/8f16afd1-6b46-4d9f-b642-8fefe355c5c9">
</p>
3. You should see something like this. We're now ready to send our files to our Huggingface Space. After cloning, move your files to this repo and push it along with your docker file. You DO NOT need to create a Dockerfile. Make sure NOT TO push your `.env` file. This should automatically be ignored.
<p align = "center" draggable=โfalseโ>
<img src="https://github.com/AI-Maker-Space/LLMOps-Dev-101/assets/37101144/cbf366e2-7613-4223-932a-72c67a73f9c6">
</p>
4. After pushing all files, navigate to the settings in the top right to add your OpenAI API key.
<p align = "center" draggable=โfalseโ>
<img src="https://github.com/AI-Maker-Space/LLMOps-Dev-101/assets/37101144/a1123a6f-abdd-4f76-bea4-39acf9928762">
</p>
5. Scroll down to `Variables and secrets` and click on `New secret` on the top right.
<p align = "center" draggable=โfalseโ>
<img src="https://github.com/AI-Maker-Space/LLMOps-Dev-101/assets/37101144/a8a4a25d-752b-4036-b572-93381370c2db">
</p>
6. Set the name to `OPENAI_API_KEY` and add your OpenAI key under `Value`. Click save.
<p align = "center" draggable=โfalseโ>
<img src="https://github.com/AI-Maker-Space/LLMOps-Dev-101/assets/37101144/0a897538-1779-48ff-bcb4-486af30f7a14">
</p>
7. To ensure your key is being used, we recommend you `Restart this Space`.
<p align = "center" draggable=โfalseโ>
<img src="https://github.com/AI-Maker-Space/LLMOps-Dev-101/assets/37101144/fb1d83af-6ebe-4676-8bf5-b6d88f07c583">
</p>
8. Congratulations! You just deployed your first LLM! ๐๐๐ Get on linkedin and post your results and experience! Make sure to tag us at #AIMakerspace !
Here's a template to get your post started!
```
๐๐ Exciting News! ๐๐
๐๏ธย Today, I'm thrilled to announce that I've successfully built and shipped my first-ever LLM using the powerful combination of Chainlit, Docker, and the OpenAI API! ๐ฅ๏ธ
Check it out ๐
[LINK TO APP]
A big shoutout to the @**AI Makerspace** for all making this possible. Couldn't have done it without the incredible community there. ๐ค๐
Looking forward to building with the community! ๐โจย Here's to many more creations ahead! ๐ฅ๐
Who else is diving into the world of AI? Let's connect! ๐๐ก
#FirstLLM #Chainlit #Docker #OpenAI #AIMakerspace
```
</details>
<p></p>
### That's it for now! And so it begins.... : |