• Wie letztes Jahr von einigen gewünscht, hier eine Erinnerung zur Unterstützung.
  • Hallo zusammen, bitte prüft mal die im Forum hinterlegte Mail Adresse auf Aktualität. Es ist jetzt schon mehrfach passiert, dass Mails (z.B. für Benachrichtigung neuer PNs) nicht zugestellt werden konnten, weil die Konten nicht mehr existieren oder voll gelaufen sind. Danke!
  • Hallo Gast, falls du dich wunderst, wieso Bilder und Videos nicht mehr sofort angezeigt werden, schau mal hier.

K.I. / Chatgpt usw

Und in manchen Bereichen versagt Chat GPT (3.5) auch, wenn es zum Beispiel um die Zusammenfassung von eher unbekannten Büchern geht oder deutsche Grammatik mit dem Feldermodell.
 
Jo, grad wird überall gespamnt. Ist quasi fester Bestandteil meiner Arbeit. Und das ist nix gutes.

Man liest nen Text, oh weh … Man erkannt AI halt. Irgendwie, wie jeder Trend … wird zum Erbrechen gemacht. Ich hoffe auf ein Jahr Stromausfall.
 
Jo, grad wird überall gespamnt. Ist quasi fester Bestandteil meiner Arbeit. Und das ist nix gutes.

Man liest nen Text, oh weh … Man erkannt AI halt. Irgendwie, wie jeder Trend … wird zum Erbrechen gemacht. Ich hoffe auf ein Jahr Stromausfall.

Liegt aber an der Sorg-/Lieblosigkeit und Ignoranz der Nutzer, nicht an den AIs, die liefern beeindruckende Ergebnisse bei korrektem Einsatz.
 
Sodele. Hab noch 30mins, bis der Wahnsinn los geht, dann schreibe ich mal ein paar Worte:

Zuallererst geht mir dieses "Ich kann das aber viel besser als die KI" sehr gehörig auf den Zeiger. Ich weiß auch garnicht, warum man auch hier wieder mit 0 oder 100 argumentiert. Das ist einfach nur grenzdebil. Fakt ist. Und da könnt ihr die Uhr stellen: Wer es nicht nutzt, wird abgehängt. Punkt. Ich gebe euch jetzt mal ein paar Beispiele - auch ein paar Kundenbeispiele -, wo KI/GPT im Einsatz ist. Und ihr werdet euch wundern: Es ist zumeist nicht dafür da, irgendwelchen dümmlichen Text zu generieren, der Fakten suggeriert.

Extraktion und Transformation


Fangen wir mal bei einfachen Dingen an: Extraktion und Transformation. Ich versuche hier auch immer EINFACHE Beispiele als Erklärung zu nehmen. In Wirklichkeit hängt da natürlich eine gänzlich andere Komplexität beim Kunden dahinter.

Kunde hat Millionen von Rechnungen als PDF/JPG. Nicht standardisiert. Unformatiert. Er nutzt hier GPT, um sich eine feste Datenstruktur aus dem PDF generieren zu lassen. Also "Bitte extrahiere mir aus dem Dokument Namen und Anschrift, Positionen und Endbetrag. Bitte gib mir das als JSON Format, welches sich an folgendes Schema hält. Packe bitte eine Wahrscheinlichkeit deiner Erkennung an jeweils ans Ende der Position und eine Gesamtwahrscheinlichkeit als extra property in JSON"

Zack. Früher war das super aufwendig. Musstest erst OCR nutzen, dann hast ein Custom-Model gebraucht auf jedem Format. Millionen von Test-Fälle...Jetzt ratterst das einmal durch. Schnappst dir alles, was eine Wahrscheinlichkeit >95% hat. Machst dann nochmal 1000 statt 2 Millionen Testfälle und ein großer Teil ist erledigt. Geht alles ohne Weiteres mit GPT-Vision.

Ähnliche Use-Cases findest du überall. Viele Kunden nutzen also KI garnicht, um da jetzt irgendwelche Beiträge zu blubbern, sondern um unstrukturierte Daten in strukturierte Daten zu überführen.

Für viele Kunden habe ich einen EINFACH POC gebaut, der mal veranschaulicht, wie man GPT auch einfach in Formulare mit einbinden kann: jeffreygroneberg/vaaidation (github.com)

Was macht der Prototyp? Ganz einfach. Stellt euch vor, ihr habt eine Eingabemaske. Und die Eingabemaske hat verschiedene Inputfelder. Ein einfaches Beispiel ist jetzt - und klar, da kannst auch GMaps oder andere APIs zum Validieren nehmen, aber es veranschaulicht es gut -, dass du validieren musste, ob es sich um eine richtige Adresse handelt. Du hast also hier mal das DTO definiert, welches genutzt wird, um den Payload zwischen Client und Backend zu definieren: vaaidation/src/main/java/com/microsoft/germany/csu/appinno/vaiidation/dto/CustomDTO.java at main · jeffreygroneberg/vaaidation (github.com) Die Annotations sind von mir gebaut und werden dann später im Controller ausgewertet.

public class CustomDTO {

@VaiidationField(validationPrompt = "Must be a valid address format")
private String address;

@VaiidationField(validationPrompt = "Must be a city name")
private String city;

@VaiidationField(validationPrompt = "Must be a game released on a Nintendo console, but does not need to be exclusive to a Nintendo console.")
private String nintendo;

...

}
Ihr seht schon, worauf ich hinaus will. Anforderung an das Format können jetzt relativ simpel in Sprache formuliert werden. Nehmt mal die dritte Anforderung mit dem Nintendo. Das würde ja beinhalten, dass man sich irgendwo alle Titel herholt. Die in eine DB legt. Dann musst du noch Fuzzy-Search machen, Titel werden vlt nicht richtig geschrieben. Pi, Pa, Po. In meinem Prototypen sieht man, dass das ohne Probleme funzt. Wenn es kein Nintendo-Titel ist, dann meckert er rum, aber gibt mir - weil ich das im Prompt so verlange - auch den Grund zurück, weshalb er denkt, dass es eben kein Nintendo-Titel ist.

Und so Zeug spart Zeit. UND GELD. Funzt das zu 100%. NOCH nicht. Es funzt ausreichend. Da geht es natürlich auch um das Pareto-Prinzip. Jetzt kommt natürlich Mate-Manfred und erzählt mir irgendwas davon, dass doch die Edge-Cases auch manuell geprüft werden müssen und dass das auch Arbeit verursachen würde. Das ist richtig. ABER für so Kram kannst du einfach billig Leute engagieren. Deshalb ja auch die ganzen Chat-Bots und was weiß ich was? Die fegen dir halt einfach mal 80% der Fälle weg. Dass Schnauzer-Schorch mit seiner Frage, ob denn jetzt der Router den Bridge-Mode unterstütze und welche public IPs er dann im Dual Stack habe, eventuell nicht bedient werden kann, ist vollkommen scheiß egal. Der wird natürlich sich dann auch im Internet aufregen, dass es für ihn beim Chat-Bot keine Lösung gab. Für die anderen 900 von den 1000 war es aber ausreichend. Und ACHTUNG. Jetzt kommt der Witz. NACH der Implementierung ist es faktisch done. Das Trainieren wird das Model und den Use-Case weiter verbessern. Unabhängig von der Implementierung. Die ist weiterhin nur der eine Call an die API mit dem dem System-Prompt. It's done. Unternehmen müssen dann nur noch warten und die Versions-Nummer des Modells hochziehen und es mit neuen Features ausbauen. Den Rest machen wir (oder halt OpenAI in dem Falle).

Wir bauen jetzt zB für die Daimler eine Lösung für den Wartung. Stellt euch vor, dass die einmal im Monat die ganzen Maschinen warten müssen im Werk. Jeder Hersteller hat ca 1000 verschiedene Manuals. Mit jeweils 1000 Seiten. Und die liegen bei denen im Wartungsraum rum. So eine Maschine zeigt meist eine Fehlermeldung an und dann müssen die sich hinsetzen und in den Anleitungen los würgen. Mansche Maschinen leiten auch nur Fehlermeldungen weiter, die vlt von den Schnittstellen kommen, an denen andere Maschinen sitzen und so suchen sie in Anleitungen, die vlt garnicht den Fehler beinhalten. Birkenstock-Bernd wird natürlich jetzt sagen, dass man doch nur ins Glossar müsse und dort nach dem Fehlercode schauen. Sehr gut, Bernd. Dafür müsstest du aber auch wissen, von welchem Teil der Maschine jetzt diese Code und manchmal wird auch nur ein Satz angezeigt.

Was machen wir jetzt? Wir nehmen die PDFs, Scannen die Anleitungen ein, alles wird vektorisiert und kann dann mittels GPT einfach "erfragt" werden. Auch hier geht es wieder um Extraktion und um die Beschreibung des Problems in natürlicher Sprache. Die Wartung kann also den Fehler beschreiben und wir bauen denen einen Teams-Bot mit eigenem Channel, in den jeder Mitarbeiter rein kann. Der Bot wertet die Frage aus, schaut dann in den Vektoren, ob etwas dazu passt, schnappt sich die 5 Seiten davor und danach --> Rein in GPT. Der extrahiert die Infos und gibt sie zurück mit "Ich habe hier auf Seite X der Anleitung Y einen ähnlichen Fall." und gibt den Text aus und direkt einen Link zum PDF. That's it. Da gehts nicht darum, dass die Wartung jetzt 1:1 gesagt, was sie tun müsse. Es geht darum, dass Zeit gespart wird.

(Übrigens sind die Daten hier alle privat und verlassen NICHT das private Netzwerk --> RAG RAG und generative KI - Azure AI Search | Microsoft Learn)

Selbiges mit Krankenakten von Patienten. Ein Arzt kann ganz einfach FRAGEN, ob in der Anamnese schon X oder Y war, statt 15-30 Minuten damit zu verbringen, die Akte durch zu blättern. Oder Asset-Generation. Kumpel hat das hier gebaut, was sich den aktuellen Tag der Woche schnappt und Sammelkarten generiert anhand eines Ereignisses, was halt an diesem Tag halbwegs populär war: Mythic Folio

Extraktion. Transformation. Natürliche Sprache. Darum geht es.

In meiner täglichen Arbeit nutze ich KI, wo es nur geht.
Gerade gestern. Langes Meeting. Ging um Agenda eines Kundenworkshops. Ich hab mir paar Stichpunkte gemacht. Paar Themen. Meint ihr, ich hab jetzt Bock drauf, da 100 Stunden Copy/Paste zu machen, um mir eine schöne Tabelle zu generieren, die den Tag wiederspiegelt mit Uhrzeit etc? Fuck off. Meine Notizen genommen. Prompt geschriebenin MS CoPilot, dass er mir eine Slide mit Standard Template und das Zeug in eine Tabelle gießen solle, die eine Tages-Agenda darstellt. 2mins maximal done.

 

Github CoPilot


Selbiges hier. Datenbank-Abfrage. Zurück kommt ein Array von VOs. Die eine ID haben. Ich muss diesen Array transformieren und eine Hashmap bauen, deren Key die ID ist. Meint ihr, ich hab da jetzt Bock, den scheiß zu tippen?

// transform to map, use o.id as key

Und done. Warum sollte ich das jetzt nicht nutzen? Auf der Ebene müssen wir reden. Und nicht darüber, dass ich einen Prompt absetze, um mir meine App generieren zu lassen.

Ich forke mir ein Projekt aus Github. Mach das Projekt auf. Sehe einen Abschnitt mit einer Lib, die ich nicht verstehe. Markiere den Abschnitt.
CMD + I. Copilot-Popup geht auf. /explain <--- er erklärt mir, was hier genutzt wird und wo ich dazu mehr lesen kann. Er versucht mir, den Zusammenhang innerhalb des Projekte zu erläutern. Ich verstehe. Ich google nun selbst.

Ich habe in meinem Projekt eine Rest-Schnittstelle gebaut und mag ein paar Edge-Cases testen mit Beispiel-Payloads. Er kennt den Payload, weil ich ein DTO als Objekt innerhalb der Schnittstelle nutze, die eben diesen darstellt. Ich markiere den Teil in meiner Spring-Boot-App: /test DTO should use a string instead of a number within property timestamp

Er generiert mit den Test. Legt eine kleine private Klasse an, die falschen Typ in der property hat. Er schreibt den Unit-Test. Er asserted mir alles. Er geht davon aus, dass ich einen Bad-Request zurückgebe. Test rennt. Gibt 500 zurück. CMD+I: /fix Er catched den Fehler und gibt einen 400er zurück. WARUM sollte ich das nicht nutzen?

"A fool with a tool..."
Genau. Ich WEISS, was der mir generiert und bin happy, dass er mich unterstützt. Ich lese mir das Generierte durch. Ich korrigiere auch. Ich verwerfe auch. Manchmal schalte ich ihn auch aus. ABER ich bin einfach nur glücklich, dass er da ist, weil er mich SO viel schneller macht. Auch die Interaktion mit Github Chat, wenn ich mal eine Frage habe und einen Hint auf eine Lösung brauche. Er gibt mir dann meist 3 Optionen und die schau ich mir dann eben im Internet an. WARUM sollte ich das nicht nutzen? :) JEDER - auch Kellerkind-Karl - hat bei Stackoverflow kopiert und wird das auch in Zukunft tun. Und wenn er kopiert und nicht reflektiert, dann ist das auch nicht besser, als KI zu nutzen. Im Gegenteil. Die KI wird ihm wahrscheinlich sogar noch sagen, dass es nicht taugt, weil es den Code-Block UND die Kommentare darunter im Model trainiert und alle anderen Best-Practices etc dazu.

Oder Maskieren bei Photoshop. Klar. Kannst da jetzt hin und alles per Hand mit deinem Stift maskieren. Machst vlt noch ne Farb-Segregation. Whatever. Oder nimmst halt nen Prompt "Sky". Und gehst danach nochmal drüber. Auch hier wieder. "The fool" wird das einfach übernehmen. Gute Leute zoomen rein und bessern eventuell nach. KI unterstützt hier. Es heißt deshalb auch CoPilot.

Ich schreib morgen noch bissl mehr dazu.
 
Zuletzt bearbeitet:
@Tscheff Danke für den Einblick!
Finde ich super interessant - bei uns weiß ich das ein Kollege (zufällig der Datenschutzbeauftrage) die Aufgabe bekommen hat zu schauen, wo und wie wir KI bei uns verwenden könnten. Aktuell genutzt wird es glaube maximal von ein paar wenigen Kollegen mit den Public AIs für kleine Aufgaben oder Fehlersuche.

Darf ich das geschriebene 1:1 Copy/Paste (inkl. der Links) an ein paar Kollegen schicken?
 
Darf ich das geschriebene 1:1 Copy/Paste (inkl. der Links) an ein paar Kollegen schicken?
Ja.

Ich kann auch mal bei euch vorbeikommen und bissl was mit Copilot zeigen. Das ist ja auch nicht teuer. Müsste dann halt nachmittags sein. Kann ich privat machen. Könnten wir ja dann noch was futtern gehen danach.
 
@Tscheff Danke für den Einblick!
Finde ich super interessant - bei uns weiß ich das ein Kollege (zufällig der Datenschutzbeauftrage) die Aufgabe bekommen hat zu schauen, wo und wie wir KI bei uns verwenden könnten. Aktuell genutzt wird es glaube maximal von ein paar wenigen Kollegen mit den Public AIs für kleine Aufgaben oder Fehlersuche.

Darf ich das geschriebene 1:1 Copy/Paste (inkl. der Links) an ein paar Kollegen schicken?
Noch ergänzend: Viele sagen immer "aber das geht doch dann irgendwie public etc...".

Nichts davon muss public gehen. Du kannst bei Azure privates netzwerk machen. Da das Model rein. Im Notfall sogar noch VPN bridge rein (Azure OpenAI Service frequently asked questions - Azure AI services | Microsoft Learn)
 
Ja.

Ich kann auch mal bei euch vorbeikommen und bissl was mit Copilot zeigen. Das ist ja auch nicht teuer. Müsste dann halt nachmittags sein. Kann ich privat machen. Könnten wir ja dann noch was futtern gehen danach.

Antwort vom Kollegen/Datenschutzbeauftragtem:
Das klingt doch super. Müsste nur vorher abgeklärt werden, ob (/in welchen Fällen) wir überhaupt in Richtung Copilot gehen dürfen (data privacy, kosten), sonst ist das perlen vor die Säue

Ich fänds cool, mal sehen ob wir da was hin kriegen!
 
Zurück
Oben