图书目录

目    录

第1章   面向Java开发人员的ChatGPT简介   1

1.1  本书读者对象   1

1.2  本章概述   2

1.3  立即下载代码   2

1.4  那么,ChatGPT究竟是什么,为什么我需要使用OpenAI API?   2

1.5  Regex与ChatGPT:对抗!   6

1.5.1  分析问题1:谁没有得到冰淇淋,为什么?   7

1.5.2  分析问题2:哪个孩子可能会伤心?   9

1.6  了解更多有关ChatGPT API的信息需要先了解一些术语   9

1.6.1  模型   10

1.6.2  当谈论词元时,指的是StringTokenizer而非Access Token   13

1.6.3  温度关乎创造力   14

1.7  OpenAI Playground入门   14

1.8  立即尝试!试用“系统”角色   18

1.9  小结   19

第2章   使用ChatGPT作为Java结对程序员   21

2.1  创建第一个Java ChatGPT应用程序:ListModels.java   22

2.2  列表模型端点   22

2.2.1  创建请求   22

2.2.2  处理JSON响应   22

2.2.3  模型(JSON格式)   23

2.3 聊天端点   27

2.3.1 创建请求   27

2.3.2  聊天(JSON)   31

2.3.3  处理响应   31

2.3.4  聊天完成(JSON)   32

2.4 等等,我的提示中有多少词元   33

2.5  创建下一个Java应用程序ChatGPTClient.java   34

2.6  小结   41

第3章   在企业中使用人工智能!为Slack消息创建文本摘要器   43

3.1  什么是提示工程   44

3.2  使用构建器模式更新ChatGPTClient.java及相关类   44

3.3  ChatGPT将夺走所有人的工作吗?   48

3.4  研究一个真实世界的问题:软件公司的客户支持   48

3.5  提示工程入门:文本摘要   51

3.5.1  提示1:tl;dr   52

3.5.2  提示2:“用3句或更少的话解释这个问题”   54

3.5.3  提示3:“我是一名经理。向我解释一下发生了什么情况”?   55

3.5.4  提示4:“给我下一步建议”   58

3.5.5  深入探讨提示工程   61

3.6  注册Slack Bot应用程序   61

3.6.1  通过设置范围指定机器人的权限   64

3.6.2  确认设置   64

3.6.3  查看OAuth & Permissions页面   65

3.6.4  将Slack Bot应用程序安装到工作区   66

3.6.5  获取Slack机器人访问词元   67

3.6.6  邀请机器人访问你的频道   67

3.7  查找频道ID   68

3.8  使用Slack Bot应用程序自动从频道抓取消息   68

3.8.1  设置依赖关系   68

3.8.2  使用ChannelReaderSlackBot.java以编程方式从Slack读取消息   71

3.9  练习   75

3.10  小结   75

第4章   多模态人工智能: 用Whisper和DALL-E 3 创建播客展示台   77

4.1  介绍OpenAI的Whisper模型   79

4.2  Whisper模型的特点和局限性   81

4.3  转录终端   83

4.3.1  创建请求   84

4.3.2 请求正文(多部分表单数据)   84

4.4  创建一个分割音频文件的实用程序:AudioSplitter.java   86

4.5  创建音频转录器:WhisperClient.java   89

4.6  用Podcast体验一下乐趣   94

4.7  走向meta:提示工程GPT-4为DALL-E编写提示   97

4.8  创建图像端点   99

4.8.1  创建请求   99

4.8.2  创建图像(JSON)   100

4.8.3  处理响应   101

4.9  创建图像生成器:DALLEClient.java   101

4.10  DALL-E提示工程和最佳实践   105

4.10.1  DALL-E 黄金法则1:熟悉DALL-E可以生成的图像类型   105

4.10.2  DALL-E黄金法则2:描述你想要的前景和背景   106

4.11  小结   106

4.12  练习   107

第5章   使用Discord和Java 创建自动社区管理器机器人   109

5.1  选择Discord作为社区平台   110

5.2  创建比Slack机器人更高级的机器人   110

5.3  创建比普通Discord机器人更高级的机器人   111

5.4  银行示例:克鲁克银行   111

5.5  第一件事:创建自己的Discord服务器   112

5.6  创建问答频道   113

5.7  使用Discord注册新的Discord机器人应用程序   114

5.8  指定机器人的基本信息   115

5.9  为机器人指定OAuth2参数   116

5.10  邀请机器人加入服务器   118

5.11  为机器人获取Discord ID词元并设置网关Intent   120

5.12  用Java创建问答机器人应用程序,回答来自频道的问题   122

5.13  创建第一个Discord机器人:TechSupportBotDumb.java   123

5.13.1  喜欢使用Lambda表达式来简化代码   126

5.13.2  处理发送到Discord服务器的消息   127

5.13.3  成功!运行你的第一个Discord机器人:TechSupportBotDumb.java   127

5.14  简化在Discord注册下一个Discord机器人应用程序的流程  128

5.14.1  在Discord注册新的Discord Bot应用程序   128

5.14.2  指定机器人的一般信息   128

5.14.3  为机器人指定OAuth2参数   129

5.14.4  将机器人加入服务器   129

5.14.5  为机器人获取Discord ID词元并设置网关Intent   130

5.15  创建下一个Discord机器人:ContentModeratorBotDumb.java   130

5.15.1  处理发送到Discord服务器的消息   133

5.15.2  再次成功!运行第二个Discord机器人:ContentModeratorBotDumb.java   133

5.16  小结   133

5.17  练习   134

第6章   为Discord机器人添加智能的第1部分:使用聊天端点进行问答   135

6.1  使TechSupportBot.java更智能   136

6.2  较之前一版本的技术支持机器人,需要注意的重要更改   142

6.3  分析ChatGPTClientForQAandModeration.java   143

6.3.1  使用JSONPath快速提取JSON文件中的内容   147

6.3.2  运行智能问答机器人:TechSupportBot.java   147

6.4  我们取得了巨大成就,但有一个小缺陷   150

6.5  将系统信息更新为ChatGPT,再试一次   151

6.6  小结   154

第7章   为Discord机器人添加智能的第2部分:使用聊天和审核端点进行审核   155

7.1  审核端点   156

7.1.1  创建请求   156

7.1.2  创建审核(JSON)   157

7.1.3  处理JSON响应   157

7.1.4  审核(JSON)   159

7.2  为审核端点创建客户端:ModerationClient.java   161

7.3  让ContentModeratorBot.java更智能   164

7.4  与上一版内容审核机器人相比,应注意的重要更改   169

7.5  运行智能内容审核机器人:ContentModeratorBot.java   171

7.6  小结   173

7.7  练习   173

附录A   OpenAI模型列表   175