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

Practical AI for the Pragmatic Developer

Practical AI for the Pragmatic Developer

When a new technology arrives on the scene, most developers are torn between feelings of excitement and dread. We all love new toys and better ways to get things done, but most of the time, the "new shiny" is breathlessly overhyped. No one thing can do everything, yet we're barraged nonstop with pitches promising that "this new thing can!" This can lead to curmudgeonly thoughts, which is unfortunate and counterproductive...because sometimes, some of the hype is _real_. How can we learn to distinguish gold from fool's gold?

In this session, the presenter cuts through the hype and focuses on areas where AI delivers demonstrable value for the pragmatic developer. We'll discover where it makes sense to plug AI-enabled tools into various stages of the developer's workflow and how to make it work with the least disruption and best results. We'll also look at some great tools available for building AI-powered applications in Java. We'll talk costs too, because TANSTAAFL - There Ain't No Such Thing As A Free Lunch. We'll do all of this while building a working AI-powered application together, live and in real time, using Java, Spring Boot, and Spring AI. Maybe more, depending on time!

Come to this session for an unvarnished, no-nonsense look at how and where it makes sense to put AI to work for you now. You'll leave with a plan, not with rose-colored glasses.

Mark Heckler

March 11, 2024
Tweet

More Decks by Mark Heckler

Other Decks in Technology

Transcript

  1. @mkheck Who am I? • Architect & Developer • Advocate

    • Author • Java Champion, Rockstar • Kotlin Developer Expert • Pilot
  2. @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
  3. @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
  4. @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
  5. @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
  6. @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 ?????
  7. @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…
  8. @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.
  9. @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
  10. @mkheck GitHub Copilot • Copilot • Read my comments •

    Read my mind (code with me) • Copilot Chat: chat with me • https://github.com/features/copilot
  11. @mkheck VS Code • Cross platform, multiple languages • Great

    Java & Spring Boot plugins • Phenomenal AI plugins • https://code.visualstudio.com/
  12. @mkheck IntelliJ IDEA • Java developer-favorite IDE • Great Java

    & Spring Boot plugins • Copilot Chat now supported! • Generally available March 2024