Upgrade to Pro — share decks privately, control downloads, hide ads and more …

GPT-Modelle im Business-Einsatz

GPT-Modelle im Business-Einsatz

Jörg Neumann

April 24, 2024
Tweet

More Decks by Jörg Neumann

Other Decks in Technology

Transcript

  1. THEMEN  AI  Frontend Technologies  Mobile Development 

    Consulting, Coaching, Training KONTAKT  Mail: [email protected]  Twitter: @JoergNeumann  Web: www.neogeeks.de JÖRG NEUMANN Founder & CEO NeoGeeks GmbH Azure OpenAI Service, Azure Machine Learning Platform
  2. TOKENS & EMBEDDINGS Tokens Text Token IDs TOKENS  einzelne

    Zeichen, Wörter oder Teile von Wörtern  je nach verwendeter Tokenisierung und Sprache  100 Tokens ~= 75 Wörter  Byte Pair Encoding Algorithmus TOKEN ID  Eindeutige ID eines Token  werden im Vokabular gespeichert – Liste aller Tokens, die das Modell kennt  GPT-3: ca. 50k Tokens LIMITS  Einschränkung für Input und Output Tokens  GPT-3: 4K & 16K Tokens  GPT-4: 8K & 32K Tokens PARAMETER  Gewichte & Schwellenwerte  GPT-1: 117 Millionen  GPT-2: 1,5 Milliarden  GPT-3: 175 Milliarden  GPT-4: 170 Billionen EMBEDDINGS  Vektoren: Liste von 200+ Dimensionen  Fließkommazahlen mit denen das Modell rechnet
  3. 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
  4. 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
  5. USE CASES FÜR EMBEDDINGS SEARCH  Finden und Ranken von

    Infos CLUSTERING  Gruppieren von Ähnlichkeiten RECOMMENDATIONS  Empfehlungen für ähnliche Artikel ANOMALY DETECTION  Abweichungen erkennen CLASSIFICATION  Klassifizieren von Texten
  6. OPEN SOURCE MODELS  Llama 2  Falcon  Dolly

    v2  Mistral GPT-4 GPT-4-32k GPT-3.5-Turbo Text Embeddings Ada Davinci / Babbage Dalle3 OpenAI Models Whisper LARGE LANGUAGE MODELS (LLMs)
  7. 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
  8. AZURE OPEN AI SERVICE FEATURES  Eigene GPT-Instanzen hosten 

    Spezialisierte GPT-Modelle bereitstellen  Eigene Modelle trainieren VORTEILE  Spezielle Funktionen von GPT in die eigene App integrieren
  9. AI MODELS IN AZURE AZURE OPENAI SERVICE  Azure AI

    Studio https://azure.microsoft.com/de-de/ products/ai-services/openai-service  Zugriff muss beantragt werden! AZURE OPENAI STUDIO  Konfiguration von OpenAI-Models https://ai.azure.com
  10. import openai openai.ChatCompletion.create( model="gpt-3.5-turbo", messages=[ {"role": "system", "content": "You are

    a helpful assistant."}, {"role": "user", "content": "Who won the world series in 2020?"}, {"role": "assistant", "content": "The Los Angeles Dodgers won the …"}, {"role": "user", "content": "Where was it played?"} ] ) Frage System Message Antwort Chat FEW-SHOT LEARNING GPT- Basismodell
  11. ENTWICKLUNG BEGINNEN  OpenAI installieren pip install openai  Ein

    Modell in Azure bereitstellen  Azure Account erstellen  Azure OpenAI Service-Registrierung  OpenAI-Ressource erstellen  Python installieren  API-Key und Endpoint ermitteln openai.api_type = 'azure' openai.api_key = os.environ["OPENAI_API_KEY"] openai.api_version = '2023-05-15' openai.api_base = os.getenv("API_BASE")
  12. FUNCTION CALLING FUNKTIONSWEISE  Die Antwort kann auch in Form

    eines Funktionsaufrufs erfolgen (z.B. Mail verschicken, …)  Das Modell entscheidet selbst, ob die Funktion aufgerufen wird  Funktion wir nicht direkt aufgerufen, sondern als JSON zurückgegeben  Angabe des Function-Parameters in Request  Funktioniert nur mit Modellen ab gpt-3.5-turbo-0613 und gpt-4-0613.
  13. FUNCTION CALLS import openai import json # Example dummy function

    hard coded to return the same weather # In production, this could be your backend API or an external API def get_current_weather(location, unit="fahrenheit"): """Get the current weather in a given location""" weather_info = { "location": location, "temperature": "72", "unit": unit, "forecast": ["sunny", "windy"], } return json.dumps(weather_info)
  14. FUNCTION CALLS def run_conversation(): # Step 1: send the conversation

    and available functions to GPT messages = [{"role": "user", "content": "What's the weather like in Boston?"}] functions = [ { "name": "get_current_weather", "description": "Get the current weather in a given location", "parameters": { "type": "object", "properties": { "location": { "type": "string", "description": "The city and state, e.g. San Francisco, CA", }, "unit": {"type": "string", "enum": ["celsius", "fahrenheit"]}, }, "required": ["location"], }, } ] response = openai.ChatCompletion.create( model="gpt-3.5-turbo-0613", messages=messages, functions=functions, function_call="auto", # auto is default, but we'll be explicit ) response_message = response["choices"][0]["message"]
  15. response_message = response["choices"][0]["message"] # Step 2: check if GPT wanted

    to call a function if response_message.get("function_call"): # Step 3: call the function # Note: the JSON response may not always be valid; be sure to handle errors available_functions = { "get_current_weather": get_current_weather, } # only one function in this example, but you can have multiple function_name = response_message["function_call"]["name"] function_to_call = available_functions[function_name] function_args = json.loads(response_message["function_call"]["arguments"]) function_response = function_to_call( location=function_args.get("location"), unit=function_args.get("unit"), ) FUNCTION CALLS
  16. FUNCTION CALLS # Step 4: send the info on the

    function call and function response to GPT messages.append(response_message) # extend conversation with assistant's reply messages.append( { "role": "function", "name": function_name, "content": function_response, } ) # extend conversation with function response second_response = openai.ChatCompletion.create( model="gpt-3.5-turbo-0613", messages=messages, ) # get a new response from GPT where it can see the function response return second_response
  17. 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
  18. RETRIEVAL AUGMENTED GENERATION (RAG) HERAUSFORDERUNGEN  Antworten haben keine Quellenangaben

     Antworten können veraltet sein  Das Model kann halluzinieren  Kontext auf bestimmte Daten beschränken
  19. RETRIEVAL AUGMENTED GENERATION (RAG) BEDEUTUNG  Modell um externe Datenquellen

    erweitern  domänenspezifisches Wissen integrieren  Dokumente werden in einer Vektordatenbank gespeichert  Prompts werden im Hintergrund um Kontextinformationen erweitert  Vorteil: Modell muss nicht trainiert werden
  20. RETRIEVAL ARGUMENTED GENERATION (RAG) Chunk Chunk Chunk Chunk Embeddings Embeddings

    Embeddings Embeddings Vektor Datenbank PDF Dokumente Benutzer- suche Embeddings Search Antwort LLM Ergebnisse gewichten
  21. 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?
  22. FAZIT  AI wird die Softwareentwicklung verändern  Wir werden

    in Zukunft intelligentere Systeme bauen  Frameworks und Tools werden uns unterstützen  Das Thema ist sehr komplex  Ein gutes Verständnis der unterschiedlichen Technologien ist erforderlich
  23. "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
  24. 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
  25. 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