From 4d81db938b248d6ba2fb5c8cb5d6b749d35fae13 Mon Sep 17 00:00:00 2001 From: Delsy-Kinyuy Date: Wed, 24 Sep 2025 03:24:00 +0100 Subject: [PATCH 1/2] Completed Exercise 1 - Hello LLM Endpoint --- done.txt | 6 ++++++ exercise1.py | 30 ++++++++++++++++++++++++++++++ 2 files changed, 36 insertions(+) create mode 100644 done.txt create mode 100644 exercise1.py diff --git a/done.txt b/done.txt new file mode 100644 index 0000000..2a45f56 --- /dev/null +++ b/done.txt @@ -0,0 +1,6 @@ +NameName: Delsy Kinyuy +Exercise: 1 - Hello LLM Endpoint +Challenges: +- Installing transformers took some time +- Model download was large on first run + Needed to adjust max_length to avoid errors diff --git a/exercise1.py b/exercise1.py new file mode 100644 index 0000000..eddbf8d --- /dev/null +++ b/exercise1.py @@ -0,0 +1,30 @@ +from fastapi import FastAPI +from pydantic import BaseModel +from transformers import pipeline + +# init FastAPI +app = FastAPI(title="Generative AI Exercises") + +# load Hugging Face model (distilgpt2 is small enough to run on CPU) +generator = pipeline("text-generation", model="distilgpt2") + +# request schema +class PromptRequest(BaseModel): + prompt: str + max_tokens: int = 100 + +@app.get("/") +def root(): + return {"message": "FastAPI + Hugging Face is live 🚀"} + +@app.post("/hello-llm") +def hello_llm(request: PromptRequest): + """ + Generate text from a given prompt using distilgpt2. + """ + output = generator( + request.prompt, + max_length=len(request.prompt.split()) + request.max_tokens, + num_return_sequences=1 + ) + return {"prompt": request.prompt, "generated": output[0]["generated_text"]} From 7e6d3b206b0d3a2bf5901a5617b4b6ac509119e8 Mon Sep 17 00:00:00 2001 From: Delsy Kinyuy <190133251+verdzy-kin@users.noreply.github.com> Date: Sat, 27 Sep 2025 11:29:25 +0100 Subject: [PATCH 2/2] Update done.txt --- done.txt | 1 - 1 file changed, 1 deletion(-) diff --git a/done.txt b/done.txt index 2a45f56..62bea0c 100644 --- a/done.txt +++ b/done.txt @@ -3,4 +3,3 @@ Exercise: 1 - Hello LLM Endpoint Challenges: - Installing transformers took some time - Model download was large on first run - Needed to adjust max_length to avoid errors