0人評分過此書

Python程式設計與OpenAI API應用:零基礎建構非同步GUI的AI聊天機器人

出版日期
2023/11/25
閱讀格式
PDF
書籍分類
學科分類
ISBN
9786263336438

本館館藏

借閱規則
當前可使用人數 30
借閱天數 14
線上看 0
借閱中 0

計次服務

借閱規則
借閱天數 14
選擇分享方式

推薦本館採購書籍

您可以將喜歡的電子書推薦給圖書館,圖書館會參考讀者意見進行採購

讀者資料
圖書館
* 姓名
* 身分
系所
* E-mail
※ 我們會寄送一份副本至您填寫的Email中
電話
※ 電話格式為 區碼+電話號碼(ex. 0229235151)/ 手機格式為 0900111111
* 請輸入驗證碼
從入門到活用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工程師,也很適合閱讀本書。
  • 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 版語音聊天程式

評分與評論

請登入後再留言與評分
幫助
您好,請問需要甚麼幫助呢?
使用指南

客服專線:0800-000-747

服務時間:週一至週五 AM 09:00~PM 06:00

loading