01 + 02 | Sa, 13.01.2024
Die heutige Sitzung ist ein Block, in dem wir zwei ausgefallene Sitzungen vom Anfang des Semesters nachholen. Ziel ist es, die exemplarische Ansteuerung von Hardware mit KI fertigzustellen.
Ziele
- Sie kennen Sinn und Zweck von gradio.app.
- Sie können den Quellcode der Beispielanwendung erläutern und darüberhinaus Ihre Abwandlungen und Ergänzungen.
- Sie erläutern den Weg aus dem Webinterface von Gradio bis zur Hardware, den die Informationen durch das lokale Netzwerk nehmen.
- Sie nennen einige Tücken und Schwierigkeiten bei der Installation von Gradio und wie sie diesen (erfolgreich) begegnet sind.
- Sie erklären technische Zusammenhänge Ihres Projektes an Quellcode und eingesetzter Hardware.
- Sie begründen Schwächen von KI-Modellen, die Sie in der Veranstaltung und im Projekt eingesetzt haben.
- Sie erklären grob die technischen Zusammenhänge von KI-Modellen zur Klassifikation von Bildern, Texten oder Audiodaten.
Quellcode
Den folgenden Quellcode setzen wir ein, um den exemplarischen Aufbau für diese Veranstaltung zu vervollständigen:
1# Example from https://www.gradio.app/guides/using-hugging-face-integrations
2# Model: https://huggingface.co/oliverguhr/german-sentiment-bert
3from transformers import pipeline
4import gradio as g
5import requests
6
7model_path = "oliverguhr/german-sentiment-bert"
8pipeline("text-classification", model="oliverguhr/german-sentiment-bert")
9sentiment_task = pipeline("text-classification", model=model_path, tokenizer=model_path)
10
11# Achtung, die IP-Adresse anpassen!
12url = 'http://192.168.1.xyz:5000'
13
14def predict(text):
15
16 # classes = {"negative": 0, "positive": 1, "neutral": 2}
17 clss = sentiment_task(text)[0]["label"]
18
19 requests.get(
20 url,
21 params={'state': clss },
22 )
23 return clss
24
25demo = gr.Interface(
26 fn=predict,
27 inputs=gr.Textbox(label="Eingabe"),
28 outputs=gr.Label(label="Klassifizierung")
29)
30
31demo.launch()