Intro
Table of Contents
About the Author
About the Technical Reviewer
Foreword
Chapter 1: Introducing ChatGPT for Java Developers
Who Is This Book For?
Chapter Overview
Download the Code Now!
So, What Exactly Is ChatGPT and Why Do I Need to Use the OpenAI APIs?
Regex vs. ChatGPT: Fight!
Analysis Question #1: Who Didn't Get Any Ice Cream and Why?
Analysis Question #2: Which Kid Was Probably Left Sad?
Let's Unlearn Some Words in Order to Learn More About the ChatGPT API
Models. Models? Models!!!
When We Talk About Tokens, Think About the StringTokenizer and Not Access Tokens
Temperature Is All About Creativity
Getting Started with the OpenAI Playground
1. System
2. User
3. Assistant (Optional)
4. Add Message (Optional)
5. View Code (Optional)
6. Model (Optional)
7. Temperature (Optional)
8. Maximum Length (Optional)
Try It Now! Experimenting with the "System" Role
Conclusion
Chapter 2: Using ChatGPT As Your Java Pair-Programmer
Creating Your First Java ChatGPT App: ListModels.java
List Models Endpoint
Creating the Request
Handling the JSON Response
Model (JSON)
Chat Endpoint
Creating the Request
Chat (JSON)
Handling the Response
Chat Completion (JSON)
Wait, How Many Tokens Are in My Prompt?
ChatGPT Token Counter
Creating the Next Java App: ChatGPTClient.java
Conclusion
Chapter 3: Using AI in the Enterprise! Creating a Text Summarizer for Slack Messages
So, What Is Prompt Engineering?
Updating ChatGPTClient.java (and Related Classes) with the Builder Pattern
ChatGPT Is Here to Take Away Everyone's Jobs (Not Really)
Examining a Real World Problem: Customer Support for a Software Company
Prompt Engineering 101: Text Summarization
Prompt #1: "tl
dr"
Prompt #2: "Explain This in 3 Sentences or Less"
Prompt #3: "I'm a Manager. Explain to Me What Happened"
Prompt #4: "Give Me Suggestions on Next Steps"
Let's Talk About Real Prompt Engineering
Registering a Slack Bot App
Specifying What Your Bot Can (and Can't) Do By Setting the Scope
Confirming Your Settings
Viewing the OAuth and Permissions Page
Installing Your Slack Bot App to Your Workspace
Getting Your Slack Bot (Access) Token
Inviting Your Bot to Your Channel
Finding the Channel ID of Your Channel
Using Your Slack Bot App to Automatically Grab Messages from a Channel
Setting Up Your Dependencies
Programmatically Reading Messages from Slack with ChannelReaderSlackBot.java
Exercises Left for the Reader
Conclusion
Chapter 4: Multimodal AI: Creating a Podcast Visualizer with Whisper and DALL·E 3
Introducing the Whisper Model by OpenAI
Features and Limitations of the Whisper Model
Transcriptions Endpoint
Creating the Request