ChatGPT for Java: A Hands-on Developer’s Guide to ChatGPT and Open AI APIs
✍ Scribed by Bruce Hopkins
- Publisher
- Apress
- Year
- 2024
- Tongue
- English
- Leaves
- 243
- Category
- Library
No coin nor oath required. For personal study only.
✦ Table of Contents
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
Request Body (Multipart Form Data)
Creating a Utility App to Split Audio Files: AudioSplitter.java
Creating the Audio Transcriber: WhisperClient.java
Having a Little Fun and Trying Things Out with a Podcast
Going Meta: Prompt Engineering GPT-4 to Write a Prompt for DALL·E
Create Image Endpoint
Creating the Request
Create Image (JSON)
Handling the Response
Image (JSON)
Creating the Image Generator: DALLEClient.java
DALL·E Prompt Engineering and Best Practices
DALL·E Golden Rule #1: Get Familiar with the Types of Images that DALL·E Can Generate
DALL·E Golden Rule #2: Be Descriptive with What You Want in the Foreground and Background
Conclusion
Exercises Left for the Reader
Chapter 5: Creating an Automated Community Manager Bot with Discord and Java
Choosing Discord as Your Community Platform
Creating a More Advanced Bot Than Our Slack Bot
Creating a More Advanced Bot Than Any Typical Discord Bot
Understanding the Roles for the Bots
Our Example Bank: Crook’s Bank
First Things First: Create Your Own Discord Server
Create the Q&A Channel
Registering a New Discord Bot App with Discord
Specifying General Info for the Bot
Specifying OAuth2 Parameters for the Bot
Invite Your Bot to Your Server
Getting the Discord ID Token for Your Bot and Setting the Gateway Intents
Creating a Q&A Bot App in Java to Answer Questions from a Channel
Setting Up Your Dependencies
Creating The First Discord Bot: TechSupportBotDumb.java
Loving the Lambda Expression to Simplify Code
Handling Messages Sent to the Discord Server
Success! Running Your First Discord Bot: TechSupportBotDumb.java
Streamlining the Process of Registering Our Next Discord Bot App with Discord
Registering a New Discord Bot App with Discord
Specifying General Info for the Bot
Specifying OAuth2 Parameters for the Bot
Invite Your Bot to Your Server
Getting the Discord ID Token for Your Bot and Setting the Gateway Intents
Creating the Next Discord Bot: ContentModeratorBotDumb.java
Handling Messages Sent to the Discord Server
Success Again! Running Your Second Discord Bot: ContentModeratorBotDumb.java
Conclusion
Exercises Left for the Reader
Chapter 6: Adding Intelligence to Our Discord Bots, Part 1: Using the Chat Endpoint for Q&A
Making TechSupportBot.java More Intelligent
Important Changes to Note from the Previous Version of the Tech Support Bot
Updates to the onMessageReceived() Method
Analyzing ChatGPTClientForQAandModeration.java
Using JSONPath in Order to Extract Content Quickly in JSON Files
Running Our Intelligent Q&A Bot: TechSupportBot.java
We Have a Monumental Achievement… With One Slight Flaw
Update the System Message to ChatGPT and Let’s Try Again
Conclusion
Chapter 7: Adding Intelligence to Our Discord Bots, Part 2: Using the Chat and Moderation Endpoints for Moderation
Moderations Endpoint
Creating the Request
Create Moderation (JSON)
Handling the JSON Response
Moderation (JSON)
Creating Our Client for the Moderations Endpoint: ModerationClient.java
Making ContentModeratorBot.java More Intelligent
Important Changes to Note from the Previous Version of the Content Moderator Bot
Updates to the onMessageReceived() Method
Running Our Intelligent Content Moderator Bot: ContentModeratorBot.java
Conclusion
Exercises Left for the Reader
Appendix 1: List of OpenAI Models
Index
📜 SIMILAR VOLUMES
Embrace the future of software development! ChatGPT for Java is the perfect starting point for Java developers to learn how to build intelligent applications using ChatGPT and Open AI APIs. This book takes you from the ground up to demonstrate how to use ChatGPT programmatically. You will learn t
<p><span>This minibook is a comprehensive guide for Python developers who want to learn how to build applications with large language models. Authors Olivier Caelen and Marie-Alice Blete cover the main features and benefits of GPT-4 and ChatGPT and explain how they work. You'll also get a step-by-st
<p><span>This minibook is a comprehensive guide for Python developers who want to learn how to build applications with large language models. Authors Olivier Caelen and Marie-Alice Blete cover the main features and benefits of GPT-4 and ChatGPT and explain how they work. You'll also get a step-by-st
This minibook is a comprehensive guide for Python developers who want to learn how to build applications with large language models. Authors Olivier Caelen and Marie-Alice Blete cover the main features and benefits of GPT-4 and ChatGPT and explain how they work. You'll also get a step-by-step guide