Slide 1

Slide 1 text

GPT-MODELLE IM BUSINESS-EINSATZ Jörg Neumann

Slide 2

Slide 2 text

THEMEN  AI Development  Business App Development  Frontend Technologies  Development, Consulting, Coaching, Training KONTAKT  Mail: [email protected]  LinkedIn: www.linkedin.com/in/jörgneumann  X: @JoergNeumann  Web: www.neogeeks.de JÖRG NEUMANN Founder & CEO NeoGeeks GmbH Azure OpenAI Service, Azure Machine Learning Platform

Slide 3

Slide 3 text

AI Dev Camp 28.-29.1.2025 in Düsseldorf Das Trainingsevent für KI-getriebene Softwareentwicklung. 2 Tage geballte Wissensvermittlung mit Jörg Neumann, Neno Loje & Special Guests zu einem All- Inclusive Preis. Jörg Neumann MVP AI Platform Neno Loje MVP Developer Technologies www.AIDevCamp.de

Slide 4

Slide 4 text

CLOUDS & SERVICES OPENAI  OpenAI bietet eine API für den Zugriff auf unterschiedliche Modelle  Chat, Bilder, Embeddings erzeugen MICROSOFT AZURE OPENAI SERVICE  Hosten von Modellen in eigener Cloud Environment  Leichtes Management über OpenAI Studio HUGGING FACE  Plattform für Modelle, Datasets und Apps

Slide 5

Slide 5 text

WAS GIBT‘S FÜR ALTERNATIVEN?

Slide 6

Slide 6 text

BUSINESS SZENARIEN MARKETING  Werbetexte und Bilder generieren  Automatisch Hashtags erzeugen DOKUMENTEN-GENERIERUNG  Erstellung von Standarddokumenten (Arbeitsverträgen, Arbeitsbescheinigung, Elternzeit, …)  Entwicklung von Trainingsunterlagen und techn. Dokumentation  Generierung wiederkehrender Mails

Slide 7

Slide 7 text

BUSINESS SZENARIEN HR  Onboarding Buddy  Unterstützt neue Mitarbeiter per Chat  Wird mit Dokumenten des Unternehmens trainiert  Integration in Teams, inkl. Input Dialogen SERVICE  Chat für technische Dokumentation  Abfrage von Datenbank mit natürlicher Sprache  Automatisierung von Callcenter-Prozessen

Slide 8

Slide 8 text

BUSINESS SZENARIEN AGENTS  Übernehmen komplexe Aufgaben  Agieren Autonom  Können Aktionen auslösen  Arbeiten in Teams zusammen

Slide 9

Slide 9 text

OPENAI PLATFORM https://platform.openai.com/playground/chat

Slide 10

Slide 10 text

DEMO OpenAI Platform https://platform.openai.com/playground/chat

Slide 11

Slide 11 text

ENTWICKLUNG BEGINNEN  OpenAI-Account erstellen  Python installieren  OpenAI Bibliothek installieren pip install openai  API-Key angeben import os import openai openai.api_key = os.getenv("OPENAI_API_KEY")

Slide 12

Slide 12 text

DEMO Zugriff mit der OpenAI API https://platform.openai.com/docs/quickstart

Slide 13

Slide 13 text

AI IN JAVA SPRING AI  Entwicklung von AI-driven Applications mit Spring Boot  Unterstützung für alle gängigen LLMs (OpenAI, Gemini, Llama, Mistral …)  Support für Embedding Models  Support für viele Vector Stores  Weitere Features: Function Calls, Data Engineering, …  Home: https://spring.io/projects/spring-ai  Sourcen: https://github.com/spring-projects/spring-ai

Slide 14

Slide 14 text

DEMO Spring AI https://github.com/spring-projects/spring-ai

Slide 15

Slide 15 text

GROUNDING SYSTEM PROMPTS  Welche Persona soll repräsentiert werden (Marketing-Assistent, Entwickler, …)  Wie soll sich das Modell verhalten (Stil, Antwortlänge, Format, …) SAMPLES  Beispiele, die dem Modell einen Hinweis geben, in welcher Form die Antwort ermittelt werden soll DATA  Zusätzliche Daten, die dem Modell zur Beantwortung der Frage bereitgestellt werden

Slide 16

Slide 16 text

GROUNDING POST /v1/chat/completions { "model": "gpt-4o-2024-08-06", "messages": [ { "role": "system", "content": "Du bist Berater. Du beantwortest jede Frage mit 'Kommt drauf an'." }, { "role": "user", "content": "Wieviel Zylinder hat ein V8 Motor?" }, { "role": "assistant", "content": "Kommt drauf an. Es gibt V8-Motoren mit 8 Zylindern, aber auch solche mit 4 oder 6 Zylindern." } ], "temperature": 0.7, "max_tokens": 16000 } System Prompt Antwort User Prompt Sample

Slide 17

Slide 17 text

DEMO Grounding

Slide 18

Slide 18 text

FUNCTION CALLING FUNKTIONSWEISE  Die Antwort kann auch in Form eines Funktionsaufrufs erfolgen (z.B. Mail verschicken, …)  Funktion wir nicht direkt aufgerufen, sondern nur signalisiert  Das Modell entscheidet selbst, ob die Funktion aufgerufen wird

Slide 19

Slide 19 text

Function Calling Demo DEMO https://tinyurl.com/5n84jyyj

Slide 20

Slide 20 text

DEMO Spring AI https://github.com/spring-projects/spring-ai

Slide 21

Slide 21 text

RETRIEVAL AUGMENTED GENERATION (RAG) ZIEL  Modell um externe Datenquellen erweitern  domänenspezifisches Wissen integrieren  Modell muss nicht trainiert werden

Slide 22

Slide 22 text

RETRIEVAL AUGMENTED GENERATION Frage eigene Daten abfragen Ergebnisse zum Prompt hinfügen Model abfragen Antwort

Slide 23

Slide 23 text

RETRIEVAL ARGUMENTED GENERATION (RAG) Chunk Chunk Chunk Chunk Embeddings Embeddings Embeddings Embeddings Vector Database PDF Dokument Benutzer- suche Embeddings Search Antwort LLM Ergebnisse gewichten

Slide 24

Slide 24 text

RETRIEVAL ARGUMENTED GENERATION (RAG) Beantworte die Frage basierend auf dem unten stehenden Kontext. Wenn die Frage nicht mit den bereitgestellten Informationen beantwortet werden kann, antworte mit 'Ich weiß es nicht'. Kontext: Große Sprachmodelle (LLMs) sind die neuesten Modelle, die in der NLP verwendet werden. Ihre überlegene Leistung gegenüber kleineren Modellen hat sie unglaublich nützlich für Entwickler gemacht. Diese Modelle können über die 'transformers'-Bibliothek von Hugging Face, über OpenAI mit der 'openai'- Bibliothek und über Cohere mit der 'cohere'-Bibliothek abgerufen werden. Frage: Welche Bibliotheken und Modellanbieter bieten LLMs an? Instruktionen Prompt externe Informationen Welche Bibliotheken und Modellanbieter bieten LLMs an?

Slide 25

Slide 25 text

DEMO RAG Pattern implementieren Script

Slide 26

Slide 26 text

STRUCTURED OUTPUT HINTERGRUND  Verlässliches Rückgabeformat definieren VARIANTEN  JSON-Mode  Angabe eines JSON-Schemas zur Steuerung der Ausgabe  Beim Function Calling WEITERE INFORMATIONEN  OpenAI Dokumentation, OpenAI Cookbook, Azure OpenAI

Slide 27

Slide 27 text

UMSETZUNG: JSON-MODE from openai import OpenAI client = OpenAI() response = client.chat.completions.create( model="gpt-4o", messages=[ { "role": "user", "content": [ { "type": "text", "text": "Gib mir eine Liste aller Porsche-Modelle und deren Erscheinungsjahr in JSON„ } ] }, { "role": "assistant", "content": [ { "type": "text", "text": "\n{\n \"Porsche_356\": 1948,\n \"Porsche_550_Spyder\": 1953,\n \"Porsche_911\": 1964,…}" } ] } ], response_format={ "type": "json_object" } ) { "Porsche_356": 1948, "Porsche_550_Spyder": 1953, "Porsche_911": 1964, "Porsche_912": 1965, "Porsche_914": 1969, "Porsche_924": 1976, "Porsche_928": 1977, "Porsche_944": 1982, "Porsche_959": 1986, "Porsche_964": 1989, "Porsche_968": 1991, "Porsche_993": 1994, "Porsche_Boxster": 1996, "Porsche_Cayenne": 2002, "Porsche_Carrera_GT": 2003, "Porsche_997": 2004, "Porsche_Cayman": 2005, "Porsche_Panamera": 2009, … }

Slide 28

Slide 28 text

UMSETZUNG from openai import OpenAI client = OpenAI() response = client.chat.completions.create( model="gpt-4o", messages=[ { "role": "user", "content": [ { "type": "text", "text": "Gib mir eine Liste aller Porsche-Modelle und deren Erscheinungsjahr" }] }, { "role": "assistant", "content": [ { "type": "text", "text": "{\"car_info\":[{\"model_name\":\"Porsche 356\",\"year\":1948},…]}" }]}], response_format={ "type": "json_schema", "json_schema": { "name": "car_info_list", "strict": true, "schema": { "type": "object", "properties": { "car_info": { "type": "array", "description": "A list of car information objects.", "items": { "type": "object", … } ) { "car_info": [ { "model_name": "Porsche 356", "year": 1948 }, { "model_name": "Porsche 550 Spyder", "year": 1953 }, { "model_name": "Porsche 911", "year": 1964 }, { "model_name": "Porsche 912", "year": 1965 }, … ] }

Slide 29

Slide 29 text

SUPPORTED MODELS OPENAI  Modell: gpt-4o-2024-08-06 oder neuer  Modell: gpt-4o-mini-2024-07-18 oder neuer  Weitere Informationen

Slide 30

Slide 30 text

DEMO Structured Output im OpenAI Playground

Slide 31

Slide 31 text

OPEN AI ASSISTANTS API CODE INTERPRETER  Ausführung von Scripts in Jupyter Notbook  Assistant Playground: No-Code-Umgebung zum Testen  OpenAI Playground

Slide 32

Slide 32 text

DEMO OpenAI Assistants: Code Interpreter Script

Slide 33

Slide 33 text

FAZIT  OpenAI bietet eine einfache Möglichkeit AI-Modelle zu nutzen  Einbindung über APIs für Python, JavaScript und Java möglich  Mit dem RAG-Pattern kann die Wissensbasis des Modells erweitert werden  Function Calling und Structured Output bilden die Schnittstelle zur Software  Mit Code Interpreter kann dynamisch Code erzeugt und ausgeführt werden

Slide 34

Slide 34 text

Q& A

Slide 35

Slide 35 text

"The electric light did not come from the continuous improvement of candles." Oren Harari, Wirtschaftsprofessor NeoGeeks AI Workshops Generative AI eröffnet viele neue Möglichkeiten in diversen Geschäftsbereichen. Ob als Chat im Kundensupport, als Unterstützung im Vertragsmanagement, dem Texten und Entwerfen von Logos im Marketing oder als Hilfe beim Onboarding neuer Mitarbeiter*innen – das Feld an Möglichkeiten ist vielfältig. Doch auch die Themen Datenschutz und IT-Sicherheit müssen hierbei berücksichtig werden. Wir möchten Euch helfen von den neuen Möglichkeiten zu profitieren! Dazu bieten wir Euch individuelle Workshop an, in denen wir zeigen, wie Ihr AI-Modelle in Eurem Unternehmen sicher betreiben und mit Eurem domänenspezifischen Wissen trainieren könnt. Wir unterstützen Euch beim Finden von sinnvollen Einsatzszenarien, dem Sammeln und Aufbereiten der erforderlichen Daten, bis hin zur Integration in Eure IT- Landschaft. Wir helfen Euer AI-Vorhaben zu realisieren. AI Ideation Workshop • Einordnung des Themas und der Möglichkeiten • Ideenfindung im Kontext des eigenen Geschäfts • Zielgruppe: Entscheider • Dauer: ½ Tag › Die Agenda kann individuell auf Eure Bedürfnisse angepasst werden. › Wir führen die Workshops je nach Bedarf bei Euch im Haus oder remote durch. › Im Anschluss erhaltet ihr neben dem Folienmaterial eine Dokumentation der diskutierten Themen, sowie eine Empfehlung für das weitere Vorgehen. › Die Workshops werden durch Jörg Neumann durchgeführt. Er ist Microsoft MVP für die Bereiche Azure OpenAI Service und Azure Machine Learning Platform und verfügt über langjährige Erfahrung im AI-Umfeld. Kontakt: [email protected] AI Exploration Workshop • Überblick der technischen Möglichkeiten • Entwurf eines Projekts oder PoC • Projektplanung und Setup • Zielgruppe: Architekten • Dauer: 1 Tag AI Developer Training • Technisches Training zu GenAI • Anpassen von Modellen • Entwickeln von AI-Lösungen • Zielgruppe: Entwickler • Dauer: 2 Tage Coaching und Mentoring • Beratung und Projekt- begleitendes Coaching Development Power • Unterstützung für Euer Team • Entwicklung Eurer Lösung

Slide 36

Slide 36 text

JAVA RESSOURCEN SPRING AI  Spring AI Home https://spring.io/projects/spring-ai  Introduction to Spring AI https://www.baeldung.com/spring-ai  Spring AI in Docs https://docs.spring.io/spring-ai/reference/index.html

Slide 37

Slide 37 text

JAVA RESSOURCEN SPRING AI SAMPLES VON MICROSOFT  Spring AI with OpenAI https://github.com/rd-1-2022/ai-openai-helloworld  Simple Spring AI Application with Azure OpenAI https://github.com/rd-1-2022/ai-azure-openai-helloworld  Spring AI Retrieval Augmented Generation with Open AI https://github.com/rd-1-2022/ai-openai-rag  Spring AI Retrieval Augmented Generation with Azure OpenAI https://github.com/rd-1-2022/ai-azure-retrieval-augmented-generation  Quickstart: Chat with Azure OpenAI models using your own data