Projects: Large Language Models

What is the idea of the project phase?

  • Combine the theoretical knowledge about LLMs with a practical application
  • Embed an LLM into a business use case
  • Explore the possibilities of LLMs (which are not restricted to chats bots!)

Project phase schedule

  • Project ideation
  • Team building
  • Work on projects in teams
  • Project presentation
  • Reflections & Summary

What your presentation should include (Part 1)

  • General:
    • What is your prototype? What can it do?
    • How did you (technically) solve it?
    • Why/where is a language model needed here?

What your presentation should include (Part 2)

  • Business:
    • What could be a business case for your prototype, or where can it be applied?
    • Who would be the main stakeholder of your application?
    • What would be similar use cases to what you have done? Where would such a tool be needed?

What your presentation should include (Part 3)

  • Learnings:
    • What has been the biggest challenge(s) in your project?
    • What do you think has been the greatest learning?
    • Which techniques from the seminar did you use?

What your summary should include (Part 1)

  • 2-3 pages in total
  • What is your prototype? What can I do?
  • What could be a business case for your prototype, or where can it be applied? Who would be the main stakeholder of your application?
  • Where in your prototype do you need GPT/a language model and why?

What your summary should include (Part 2)

  • What are current limitations/challenges of your prototype and how could you (potentially) overcome them? Can you imagine challenges for your prototype in production?
  • What have been your main learnings during the creation of your prototype (and/or) the seminar itself? Which of the techniques presented in the seminar did you use?

Project ideas

Question-Answering Chatbot

Build a chatbot that can answer questions posed by users on a specific topic provided in form of documents. Users input their questions, the chatbot retrieves relevant information from a pre-defined set of documents, and uses the information to answer the question.

Document tagging / classification

Use GPT and its tools (e.g., function calls) and/or embeddings to classify documents or assign tags to them. Example: Sort bug reports or complaints into categories depending on the problem.

Clustering of text-based entities

Create a small tool that can cluster text-based entities based on embeddings, for example, groups of texts or keywords. Example: Structure a folder of text files based on their content.

Text-based RPG Game

Develop a text-based role-playing game where players interact with characters and navigate through a story generated by GPT. Players make choices that influence the direction of the narrative.

Sentiment Analysis Tool

Build an app that analyzes the sentiment of text inputs (e.g., social media posts, customer reviews) using GPT. Users can input text, and the app provides insights into the overall sentiment expressed in the text.

Text Summarization Tool

Create an application that summarizes long blocks of text into shorter, concise summaries. Users can input articles, essays, or documents, and the tool generates a summarized version.

Language Translation Tool

Build a simple translation app that utilizes GPT to translate text between different languages. Users can input text in one language, and the app outputs the translated text in the desired language. Has to include some nice tweaks.

Personalized Recipe Generator

Develop an app that generates personalized recipes based on user preferences and dietary restrictions. Users input their preferred ingredients and dietary needs, and the app generates custom recipes using GPT.

Lyrics Generator

Create a lyrics generation tool that generates lyrics based on user input such as themes, music style, emotions, or keywords. Users can explore different poetic styles and themes generated by GPT.

How to build you app

Tools

  • You can use everything in the Jupyterlab (put pip list in a terminal to see all Python packages)
  • If there are specific packages you need, we can organize them
  • You can simply build your application in a Jupyter notebook!
  • Or: Use Dash!

Dash

Put the following files into your home in the Jupyterlab:

my_layout.py

from dash import html
from dash import dcc


layout = html.Div([
    html.H1("Yeay, my app!"),
    html.Div([
        html.Label("Enter your text:"),
        dcc.Input(id='input-text', type='text', value=''),
        html.Button('Submit', id='submit-btn', n_clicks=0),
    ]),
    html.Div(id='output-container-button')
])

my_callbacks.py

from dash.dependencies import (
    Input, 
    Output
)
from dash import html


def register_callbacks(app):
    @app.callback(
        Output('output-container-button', 'children'),
        [Input('submit-btn', 'n_clicks')],
        [Input('input-text', 'value')]
    )
    def update_output(n_clicks, input_value):
        if n_clicks > 0:
            return html.Div([
                html.Label("You entered:"),
                html.P(input_value)
            ])
        else:
            return ''

Now you can run your own app in the Jupyterlab here:

MyApp Launcher