Slide 1

Slide 1 text

Practical AI for the Pragmatic Developer Mark Heckler Principal Cloud Advocate, Java/JVM Languages markheckler@microsoft.com mark@thehecklers.com @mkheck

Slide 2

Slide 2 text

@mkheck Who am I? • Architect & Developer • Advocate • Author • Java Champion, Rockstar • Kotlin Developer Expert • Pilot

Slide 3

Slide 3 text

@mkheck The book https://bit.ly/springbootbook @springbootbook

Slide 4

Slide 4 text

@mkheck What’s the plan? • The dilemma • The “new shiny” paradox • Distinguishing value from hype • Where and how to apply AI* • AI tools* • “Must be the money” • LET’S CODE * Subject to (rapid!) change

Slide 5

Slide 5 text

@mkheck

Slide 6

Slide 6 text

@mkheck

Slide 7

Slide 7 text

@mkheck

Slide 8

Slide 8 text

@mkheck

Slide 9

Slide 9 text

@mkheck AI for devs, in dev • Code Completion and Suggestions: AI can analyze the context of the code being written and provide relevant suggestions, speeding up the development process • Bug Detection: AI can help identify potential bugs and vulnerabilities in the code, improving code quality and reducing debugging time • Automated Testing: AI can generate test cases and automate testing, reducing the manual effort required for exhaustive testing • Code Refactoring: AI can suggest improvements in the code structure and design patterns, enhancing code readability and maintainability • Project Management: AI can predict project timelines based on historical data, helping in better project planning and resource allocation

Slide 10

Slide 10 text

@mkheck Applications of AI Models: “Text to ____” • Text-to-Text (T2T) • Language Translation: Translate text between languages • Summarization: Generate concise summaries • Question Answering: Answer questions based on input text • Chatbots: Provide conversational responses • Text-to-Speech (TTS) • Accessibility: Convert written content to spoken language • Virtual Assistants: Power voice responses (e.g., Siri, Alexa) • Audiobooks and Podcasts: Narrate content • Text-to-Image (TTI) • Generative Art: Create images from textual descriptions • Design and Advertising: Generate visual content • Data Visualization: Convert summaries into visuals

Slide 11

Slide 11 text

@mkheck Applications of AI Models: “____ to Text” • Speech-to-Text (STT) • Transcription Services: Convert spoken language to text • Voice Assistants: Enable voice commands • Call Centers: Transcribe customer calls • Image-to-Text (ITT) • OCR (Optical Character Recognition): Extract text from images • Automated Tagging: Generate descriptive captions • Visual Search Engines: Search images using text

Slide 12

Slide 12 text

@mkheck Applications of AI Models: “____ to ____” • Image-to-Video (ITV): • Slideshow Creation: ITV combines images into video presentations • Video Summarization: ITV generates video clips from image sequences • Storyboarding: ITV creates visual narratives from static images • And ?????

Slide 13

Slide 13 text

@mkheck AspIrations • Data Analysis and Prediction: AI can analyze large volumes of data and make predictions, which can be used in various applications like recommendation systems, fraud detection, etc. • Enhance user engagement by providing personalized recommendations based on search history and preferences. • Assist in medical diagnosis, predicting disease outcomes, and analyzing medical images. • Education, robotics, cybersecurity, fraud detection, financial services, content production • About robotics…

Slide 14

Slide 14 text

@mkheck Concepts • Models* • Text • Images • Audio • Generative Pre-trained Transformer (GPT) • Tokens, tokenization • Embeddings • Retrieval Augmented Generation (RAG) • Functions * Currently. This is evolving, and video is near/here.

Slide 15

Slide 15 text

@mkheck Translating Concepts to Reality • ChatGPT for text (and others, e.g. GitHub Copilot) • DALL-E for images • API-based models for audio • Developers access the underlying models • Most use cases are currently textual • Most models expose APIs • Useful abstractions add significant value to development

Slide 16

Slide 16 text

@mkheck GitHub Copilot • Copilot • Read my comments • Read my mind (code with me) • Copilot Chat: chat with me • https://github.com/features/copilot

Slide 17

Slide 17 text

@mkheck VS Code • Cross platform, multiple languages • Great Java & Spring Boot plugins • Phenomenal AI plugins • https://code.visualstudio.com/

Slide 18

Slide 18 text

@mkheck IntelliJ IDEA • Java developer-favorite IDE • Great Java & Spring Boot plugins • Copilot Chat now supported! • Generally available March 2024

Slide 19

Slide 19 text

@mkheck

Slide 20

Slide 20 text

@mkheck Helpful resources • https://github.com/mkheck/practical-ai • @springbootbook • @mkheck