aim-assignment-llm-app / README copy.md
Nagesh Muralidhar
Assignment
1734572

my-awesome-app


Assignment questions and answers:

1. Explain the concept of object-oriented programming in simple terms to a complete beginner.

Aspect Tested: When an LLM is asked this question, it tests the ability to explain concepts clearly and simply to someone without prior knowledge. This evaluates the model's understanding of the topic and its skill in breaking down complex ideas into basic, relatable terms.

For example: Object-Oriented Programming (OOP) is like organizing things in the real world. Imagine youโ€™re creating a game with cars. Instead of describing each car separately, you create a blueprint (called a class) that says, "A car has wheels, a color, and can move." Then you can make many cars (called objects) using that blueprint. Each car can have different colors or speeds, but they all follow the same basic design. This helps keep things neat, reusable, and easy to manage.

Here, the LLM's goal is to ensure the explanation is easy to grasp for anyone, even a beginner.

2. Read the following paragraph and provide a concise summary of the key pointsโ€ฆ

Aspect Tested: When an LLM is asked this question, it tests its ability to understand, process, and summarize information. The LLM needs to:

Identify the main points in the paragraph. Leave out unnecessary details. Present the summary clearly and briefly. The goal is to check how well the LLM can grasp the content and convey it in fewer words without losing the essential meaning.

3. Write a short, imaginative story (100โ€“150 words) about a robot finding friendship in an unexpected place.

Aspect Tested: When an LLM is asked this question, it tests its creativity, storytelling skills, and imagination. The LLM needs to:

Create an engaging and original story that fits the theme. Develop characters and a simple plot within the word limit. Show emotional depth or a meaningful idea, like a robot finding friendship. This evaluates how well the LLM can craft a story that feels interesting and relatable while staying within the constraints.

4. If a store sells apples in packs of 4 and oranges in packs of 3, how many packs of each do I need to buy to get exactly 12 apples and 9 oranges?

Aspect Tested: When an LLM is asked this question, it tests its math problem-solving skills and logical reasoning.

The LLM needs to:

Understand the question and identify the quantities needed. Apply simple division (12 รท 4 for apples, 9 รท 3 for oranges). Provide the correct answer in a clear and easy-to-understand way. This checks how well the LLM can solve basic math problems and explain the reasoning behind the solution.

5. Rewrite the following paragraph in a professional, formal toneโ€ฆ

Aspect Tested: When an LLM is asked this question, it tests its ability to understand and change writing style or tone.

The LLM needs to:

Understand the meaning of the original paragraph. Rewrite it in a formal and professional way, using appropriate words and structure. Keep the original message intact while improving its tone to fit the context. This evaluates the LLM's skill in adapting language to suit specific communication styles.


Screenshots of the "vibe check:

s1 s2 s3 s4 s5


title: BeyondChatGPT Demo emoji: ๐Ÿ“‰ colorFrom: pink colorTo: yellow sdk: docker pinned: false app_port: 7860

:wave: Welcome to Beyond ChatGPT!!

For a step-by-step YouTube video walkthrough, watch this! Deploying Chainlit app on Hugging Face

Beyond ChatGPT: Build Your First LLM Application

๐Ÿค– 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 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!

๐Ÿ–ฅ๏ธ Accessing "gpt-3.5-turbo" (ChatGPT) like a developer
  1. Head to this notebook 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!

๐Ÿ—๏ธ Building Your First LLM App
  1. Clone this repo.

    git clone https://github.com/AI-Maker-Space/Beyond-ChatGPT.git
    
  2. Navigate inside this repo

    cd Beyond-ChatGPT
    
  3. Install the packages required for this python envirnoment in requirements.txt.

    pip install -r requirements.txt
    
  4. Open your .env file. Replace the ### in your .env file with your OpenAI Key and save the file.

    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.

    chainlit run app.py -w
    

Great work! Let's see if we can interact with our chatbot.

Awesome! Time to throw it into a docker container and prepare it for shipping!

๐Ÿณ Containerizing our App
  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.

    docker build -t llm-app .
    
  2. Run and test the Docker image locally using the run command. The -pparameter connects our host port # to the left of the : to our container port # on the right.

    docker run -p 7860:7860 llm-app
    
  3. Visit http://localhost:7860 in your browser to see if the app runs correctly.

Great! Time to ship!

๐Ÿš€ Deploying Your First LLM App
  1. Let's create a new Huggingface Space. Navigate to Huggingface and click on your profile picture on the top right. Then click on New Space.

  1. 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

  1. 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.

  1. After pushing all files, navigate to the settings in the top right to add your OpenAI API key.

  1. Scroll down to Variables and secrets and click on New secret on the top right.

  1. Set the name to OPENAI_API_KEY and add your OpenAI key under Value. Click save.

  1. To ensure your key is being used, we recommend you Restart this Space.

  1. 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

That's it for now! And so it begins.... :)