
0人評分過此書
Python程式設計與OpenAI API應用:零基礎建構非同步GUI的AI聊天機器人
從入門到活用Python程式設計,讓你成為Python專家
實作與應用OpenAI API,建構專屬的AI聊天機器人
✦利用完整的程式範例,深入淺出說明Python程式設計
✦進階學習Python多執行緒、多程序、非同步I/O及tkinter
✦完整理解Python非同步程式設計的核心觀念
【內容簡介】
Python是一種容易學習且功能強大的程式語言,跟著本書學習Python, 你不只可學會Python的基礎語法,還可學到進階的內容,例如:物件導向、多執行緒、多程序、非同步I/O及tkinter程式設計等。
ChatGPT是OpenAI開發的人工智慧聊天機器人,其會生成文字,回答各式問題,自推出以來即受到大家的喜愛。在本書中,你將可活用Python,以Python實作OpenAI API,設計開發出ChatGPT應用程式。
本書內容的安排由淺入深,對Python程式設計進行系統性的介紹,並詳細說明OpenAI API的應用。本書以程式範例來說明Python程式設計的概念,可有效幫助讀者的學習,並經由實作的過程,建構專屬非同步GUI版的語音聊天機器人。
【目標讀者】
☛對Python程式設計有興趣的初學者,可讓讀者兼顧理論與實作。
☛適用於大專院校「Python程式設計」課程的學生,可作為教師授課之用。
☛程式設計工程師、專案設計者、AI工程師,也很適合閱讀本書。
實作與應用OpenAI API,建構專屬的AI聊天機器人
✦利用完整的程式範例,深入淺出說明Python程式設計
✦進階學習Python多執行緒、多程序、非同步I/O及tkinter
✦完整理解Python非同步程式設計的核心觀念
【內容簡介】
Python是一種容易學習且功能強大的程式語言,跟著本書學習Python, 你不只可學會Python的基礎語法,還可學到進階的內容,例如:物件導向、多執行緒、多程序、非同步I/O及tkinter程式設計等。
ChatGPT是OpenAI開發的人工智慧聊天機器人,其會生成文字,回答各式問題,自推出以來即受到大家的喜愛。在本書中,你將可活用Python,以Python實作OpenAI API,設計開發出ChatGPT應用程式。
本書內容的安排由淺入深,對Python程式設計進行系統性的介紹,並詳細說明OpenAI API的應用。本書以程式範例來說明Python程式設計的概念,可有效幫助讀者的學習,並經由實作的過程,建構專屬非同步GUI版的語音聊天機器人。
【目標讀者】
☛對Python程式設計有興趣的初學者,可讓讀者兼顧理論與實作。
☛適用於大專院校「Python程式設計」課程的學生,可作為教師授課之用。
☛程式設計工程師、專案設計者、AI工程師,也很適合閱讀本書。
-
Chapter 01 Python 基礎(一)
-
1.1 本章提要
-
1.2 安裝Python
-
工作環境
-
安裝Python
-
查看Python 版本
-
Python 命令列操作
-
建立Python 程式
-
-
1.3 Python 基本語法
-
註解
-
變數
-
print()
-
input()
-
算術運算子
-
字串
-
字串中同時使用單引號及雙引號
-
脫逸字元
-
字串串接
-
f 字串
-
轉換函式
-
-
1.4 Python 字串處理
-
len()
-
find()
-
[:]
-
replace()
-
upper() 及lower()
-
-
1.5 條件敘述
-
if 條件敘述
-
if ~ else 敘述
-
if ~ elif ~ else 敘述
-
關係運算子
-
邏輯運算子
-
-
1.6 迴圈敘述
-
for ~ range 敘述
-
while 敘述
-
break 敘述
-
continue
-
-
1.7 自定義函式
-
def 敘述
-
函式中的參數
-
函式中包含多個參數
-
不定數目參數
-
關鍵字引數
-
不定數目關鍵字參數
-
區域變數與全域變數
-
global 關鍵字
-
lambda 函式
-
-
1.8 串列(List )
-
存取List 元素
-
len() 函式
-
新增List 元素
-
移除List 元素
-
split() 函式
-
循環存取List
-
列舉List
-
排序List
-
切割List
-
-
1.9 串列表達式
-
串列表達式加入if 條件式
-
串列表達式加入函式
-
-
1.10 元組(Tuple )
-
回傳多個數值
-
-
1.11 字典(Dictionary )
-
存取字典
-
新增字典中的鍵值對
-
移除字典中的鍵值對
-
循環存取字典的key
-
循環存取字典的鍵值對
-
-
-
Chapter 02 Python 基礎(二)
-
2.1 模組(Module)
-
模組別名
-
選擇只匯入模組部分內容
-
__name__ 的使用
-
-
2.2 random 模組
-
使用randint()
-
from random import *
-
from random import randint
-
使用random.choice()
-
-
2.3 套件(Package)
-
使用__init__.py
-
-
2.4 例外處理
-
try ~ except 敘述
-
捕捉多個錯誤
-
引發錯誤
-
-
2.5 讀取文字檔案
-
open() 函式
-
讀取文字檔案方法
-
close() 方法
-
with 敘述
-
使用串列表達式
-
讀取UTF-8 文字檔案
-
-
2.6 寫入文字檔案
-
寫入文字檔案的方法
-
使用字串的join() 寫入文字檔案
-
寫入UTF-8 文字檔案
-
-
2.7 文字檔案處理
-
檢查檔案是否存在
-
重新命名檔名
-
刪除檔案
-
-
2.8 JSON
-
json.loads()
-
json.dumps()
-
json.dump()
-
json.load()
-
-
2.9 PyPI 簡介
-
pip
-
更新pip 至最新版本
-
-
2.10 建立虛擬環境
-
sys.prefix
-
site.getsitepackage()
-
為何需要虛擬環境
-
venv 模組
-
建立套件清單
-
離開虛擬環境
-
-
-
Chapter 03 Python 物件導向
-
3.1 類別與物件
-
定義類別
-
建立物件
-
定義實例屬性
-
建立物件並初始化實例屬性
-
存取實例屬性
-
加入實例方法
-
呼叫實例方法
-
加入__str__() 方法
-
-
3.2 類別屬性及類別方法
-
類別屬性
-
類別方法
-
-
3.3 靜態方法
-
3.4 繼承
-
3.5 封裝
-
3.6 抽象類別
-
抽象方法
-
-
3.7 多型
-
3.8 迭代器
-
iter() 與next()
-
建立迭代器
-
-
3.9 生成器
-
生成器函式
-
-
-
Chapter 04 多執行緒
-
4.1 本章提要
-
I/O-bound 任務
-
-
4.2 建立及執行執行緒
-
threading 模組
-
-
4.3 守護執行緒
-
建立守護執行緒
-
-
4.4 建立執行緒類別
-
4.5 執行緒池
-
建立執行緒池
-
-
4.6 使用Lock 同步執行緒
-
4.7 使用queue 交換資料
-
在不同執行緒間交換資料
-
-
-
Chapter 05 多程序
-
5.1 本章提要
-
多核處理器
-
CPU-bound 任務
-
Multiprocessing 套件
-
-
5.2 執行耗時計算任務
-
5.3 使用Process 物件執行耗時計算
-
Process 物件
-
-
5.4 使用Queue 交換資料
-
5.5 使用Process 物件建立圖像縮圖
-
5.6 使用Pool 物件建立圖像縮圖
-
5.7 程序池
-
5.8 程序間共享記憶體
-
-
Chapter 06 非同步I/O
-
6.1 本章提要
-
6.2 平行與並行
-
平行執行
-
並行執行
-
-
6.3 定義協程函式
-
事件迴圈
-
-
6.4 await 關鍵字
-
6.5 建立任務
-
6.6 使用gather()
-
使用Task 處理大量工作
-
-
6.7 取消任務
-
6.8 使用超時取消任務
-
6.9 防止任務被取消
-
shield()
-
-
6.10 非同步產生器
-
async for 表達式
-
-
6.11 aiohttp 套件
-
抓取大量網頁資料
-
-
-
Chapter 07 tkinter
-
7.1 tkinker 簡介
-
7.2 建立視窗
-
更改視窗標題
-
更改視窗大小及位置
-
調整視窗大小
-
-
7.3 標籤控制元件
-
tk 控制元件與ttk 控制元件
-
標籤(Label )
-
設定控制元件的配置選項
-
-
7.4 按鈕控制元件
-
7.5 文字方塊控制元件
-
get()
-
delete()
-
框架(Frame )
-
-
7.6 Spinbox 控制元件
-
7.7 文字區域控制元件
-
插入初始內容
-
取得Text 控制元件內容
-
刪除Text 控制元件內容
-
禁止變更Text 控制元件內容
-
-
7.8 捲軸控制元件
-
7.9 列表控制元件
-
列出項目
-
selectmode
-
-
7.10 變數類別
-
get()
-
set()
-
-
7.11 單選按鈕
-
單選按鈕
-
標籤框架
-
-
7.12 核取方塊
-
7.13 使用pack() 設計問卷調查
-
7.14 使用grid() 設計問卷調查
-
rowspan 及columnspan
-
sticky
-
rowconfigure() 及columnconfigure()
-
-
-
Chapter 08 OpenAI 簡介
-
8.1 自然語言處理
-
GPT 模型
-
-
8.2 OpenAI GPT
-
GPT
-
GPT-2
-
GPT-3
-
GPT-3.5
-
GPT-4
-
OpenAI API
-
-
8.3 取得OpenAI 的API 密鑰
-
8.4 提示、完成及標記
-
使用ChatGPT
-
編寫提示的建議
-
簡單提示
-
在提示中提供示例
-
長話短說
-
年級總結
-
-
8.5 使用Playground
-
設定參數
-
使用Playground
-
-
-
Chapter 09 OpenAI Chat API
-
9.1 本章提要
-
9.2 openai 套件
-
9.3 decouple 套件
-
9.4 使用Chat API
-
9.5 簡易聊天程式
-
9.6 具對話紀錄的聊天程式
-
9.7 具串流輸出的聊天程式
-
9.8 可儲存對話紀錄的串流聊天程式
-
9.9 以JSON 儲存對話紀錄
-
-
Chapter 10 非同步GUI 版聊天程式
-
10.1 本章提要
-
10.2 tkinter 執行非同步I/O
-
10.3 協程中執行執行緒
-
10.4 設計非同步GUI 版聊天程式
-
-
Chapter 11 OpenAI Image API
-
11.1 本章提要
-
11.2 文字產生圖像
-
11.3 顯示圖像
-
11.4 圖像變形
-
11.5 GUI 版顯示圖像
-
11.6 非同步GUI 版文字生成圖像程式
-
-
Chapter 12 OpenAI 語音轉文字API
-
12.1 本章提要
-
Whister 模型
-
轉錄與翻譯
-
限制
-
-
12.2 線上錄音
-
12.3 使用轉錄API
-
12.4 Audio API 結合Chat API
-
12.5 文字轉語音
-
gTTS
-
播放語音檔案
-
-
12.6 gTTS 結合ChatGPT API
-
12.7 Pyaudio 套件
-
12.8 非同步GUI 版語音聊天程式
-
- 出版地 : 臺灣
- 語言 : 繁體中文
評分與評論
請登入後再留言與評分