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()
Weiter