如何在2026年使用Python和ChatGPT創建語音AI助理?
本教學將引導您使用 Python 與 ChatGPT 打造專屬的人工智慧語音助理。內容涵蓋專案設定、核心函式庫、虛擬環境建置,並提供詳盡的程式碼範例。無論您是資深開發者或初學者,都能學會如何建立能理解語音指令、並運用 ChatGPT 生成智能回應的 AI 助理。
重點說明
學習如何為 Python AI 助理專案建立虛擬環境。
掌握 SpeechRecognition、pyttsx3 及 OpenAI 等核心函式庫的安裝與應用技巧。
掌握語音辨識、文字處理與語音合成函式編寫的基礎原理。
打造個人化語音控制AI助理。
探索處理各類使用者指令的方法,並透過 ChatGPT 生成回應。
打造語音控制人工智慧助理
核心程式架構與函數
完成環境設定後,即可編寫驅動AI助理的Python程式碼。此過程包含建立語音辨識、文字處理及語音合成功能模組,各模組流程詳述如下:
導入必要函式庫:
- 首先將所需函式庫導入 Python 腳本

。此步驟將為您提供建構 AI 助理所需的功能:
import speech_recognition as srimport pyttsx3import datetimeimport webbrowserimport osfrom dotenv import load_dotenvfrom openai import OpenAI
設定文字轉語音引擎:
- 初始化 pyttsx3 引擎以進行文字轉語音轉換:
engine = pyttsx3.init()
此步驟初始化文字轉語音引擎,用於將文字回應轉換為語音輸出。
建立語音輸出函式:
- 定義處理文字轉語音轉換的函式:
def speak(text): print(f"助理:{text}") engine.say(text) engine.runAndWait()
此speak函式接收文字字串作為輸入,並使用 pyttsx3 將其轉為語音。文字同時會輸出至控制台以供除錯與監控。
定義聆聽函式:
- 建立函式以擷取麥克風音訊,並透過
SpeechRecognition函式庫轉換為文字:def listen(): recognizer = sr.Recognizer() with sr.Microphone() as source: print("聆聽中...") recognizer.adjust_for_ambient_noise(source) audio = recognizer.listen(source)
try:command = recognizer.recognize_google(audio)print(f"您說:{command}")except sr.UnknownValueError:speak("抱歉,我沒聽清楚")return ""except sr.RequestError as e:speak("語音服務無法運作")return ""
return command.lower()
`listen` 函式會設定語音辨識器與麥克風,接收音訊輸入,並透過 Google 語音辨識技術轉錄為文字。此函式會處理未識別語音或服務中斷等異常狀況。
與 ChatGPT 對話功能:
- 整合 OpenAI API 以獲取 ChatGPT 回應。定義一個接收問題並返回 AI 答案的函式:
def chat_with_gpt(question): load_dotenv() client = OpenAI(api_key=os.getenv('OPENAI_API_KEY'),)
try:response = client.chat.completions.create(model="gpt-3.5-turbo",messages=[{"role": "user","content": question,}],)answer = response.choices[0].message.contentreturn answerexcept Exception as e:print(f"ChatGpt 錯誤 {e}")return "無法從 ChatGpt 取得回應"
此函式呼叫 OpenAI API,傳送使用者提問並接收 ChatGPT 回應。它處理異常狀況,從 API 回應中擷取相關文字,運用 ChatGPT 實現智能情境化回覆。
執行助理函式:此為應用程式的主函式與起始點。
def run_assistant(): speak("你好! 我是您的 AI 助理,有什麼能為您效勞?")while True: command = listen() if "時間" in command: now = datetime.datetime.now().strftime("%H:%M %p") speak(f"當前時間:{now}") elif "開啟 YouTube" in command: speak("正在開啟 YouTube") webbrowser.open("https://www.youtube.com")elif "open google" in command: speak("Opening google") webbrowser.open("https://www.google.com")elif "stop" in command or "exit" in command: speak("Good Bye Friend!") breakelif command: answer = chat_with_gpt(command) speak(answer)
執行程式:
if __name__ == '__main__': run_assistant()
執行此程式碼將啟動程式,開始聆聽您的指令。
自訂您的 AI 助理
為特定任務調整程式碼
欲實現真正個人化的 AI 助理,請考慮以下客製化方案:
擴展功能:新增更多 elif 指令語句以處理額外任務,例如:
- 開啟特定網站或應用程式。
- 設定提醒事項。
- 控制智慧家庭裝置。
回應個性化:根據偏好調整助理回應方式。修改語音功能以使用不同聲線、語調或問候語。
實現情境感知:透過儲存對話歷史與使用者偏好強化助理的記憶與感知能力。此功能可依據情境提供更相關且個人化的回應。
強化錯誤處理機制:針對網路異常或API速率限制等情境實作錯誤處理。清晰的錯誤訊息有助有效管理問題。
塑造更具互動性的性格:運用程式設計技巧使AI對話更自然。添加情緒回應功能或強化互動流暢度。可參考自身性格特質設計對話模式,並可視需求整合安全防護機制。
如何使用您的AI語音助理
關鍵要點
以下說明使用者與新語音助理的互動方式
:
啟動新語音助理。為檔案建立新資料夾並取個易記名稱。
啟動程式。輸入 'python assistent.py' 執行程式。
展開對話。使用適當指令讓助理執行任務,例如查詢資訊、講笑話等。
實用 Markdown 表格提升結構與可讀性
表格能整齊組織資訊並提升可讀性。以下為比較不同語音助理的範例:
語音助理比較表
功能 自訂人工智慧助理 Alexa Google 助理 客製化程度高中等中等隱私保護高中等中等任務自動化有限高高度整合有限廣泛廣泛開發難度高不適用不適用打造客製化語音控制人工智慧助理:權衡考量 利弊
與 權衡
優點
可依實際需求精準調整人工智慧助理的回應內容與功能。
完全掌握數據所有權與處理控制權,降低對外部服務的依賴。
提升程式設計技能,深化對人工智慧與自然語言處理的理解。
缺點
需編寫程式碼、測試與除錯,可能耗費大量時間。
管理函式庫依賴性與相容性可能相當複雜。
需定期更新與修訂以跟上技術變革步伐。
常見問題
建構這款語音控制人工智慧助理需要哪些關鍵函式庫?
核心函式庫包含:SpeechRecognition(語音輸入)、pyttsx3(文字轉語音)、OpenAI(存取ChatGPT服務)以及python-dotenv(管理環境變數如OpenAI API金鑰)。
如何在專案中啟用虛擬環境?
各作業系統的啟動指令不同:Windows 使用 'venvScriptsactivate',macOS/Linux 使用 'source venv/bin/activate'。
如何自訂我的 AI 助理?
透過新增 elif 指令語句擴充功能以執行新任務、個人化回應內容、運用對話歷史與用戶偏好實現情境感知、加入錯誤處理機制,並塑造更具互動性的個性。
相關問題
如何解決「AttributeError: Could not find PyAudio; check installation」錯誤?
在 Python 語音辨識開發過程中,可能遭遇「AttributeError: Could not find PyAudio; check installation」錯誤。此錯誤常見於語音辨識專案,顯示 PyAudio 函式庫安裝異常。PyAudio 是 Python 應用程式中擷取與播放音訊的關鍵元件。解決方法為驗證函式庫安裝狀態,並確保語音辨識任務設定正確。確認 PyAudio 已安裝:首先檢查 PyAudio 函式庫是否正確安裝。 基本步驟是使用 Python 的套件安裝程式 pip。開啟命令列或終端機並執行:pip install PyAudio
考慮使用 Conda 環境:
Conda 可管理 Python 環境與函式庫安裝。透過以下指令建立新環境:conda create -n myenv python=3.xconda activate myenvconda install -c conda-forge pyaudio更新 pip:過時的 pip 版本可能引發問題。請執行:pip install --upgrade pip上述步驟應可解決此常見問題。
相關文章
隨著當地民眾開始為數位服務付費,印度已從應用程式下載轉向變現
印度曾是全球最大的應用程式下載中心,卻苦於難以創造營收。隨著用戶日益投入人工智慧、娛樂及高級數位服務,這種局面正在改變。根據 Sensor Tower 的數據,印度消費者在行動應用程式上的支出於第二季創下 3.45 億美元的歷史新高,較去年同期增長 35%。 這家分析機構指出,當前增長主要由生成式人工智慧、串流媒體及生產力工具驅動,反映出印度用戶越來越願意為數位訂閱服務付費,而非僅依賴遊戲。這項創
據報道,OpenAI 的首款硬體裝置是一款無螢幕的移動音箱
報道指出,OpenAI 的首個硬體專案是一款移動智慧音箱,其整合了可與 ChatGPT 同步的人工智慧,以提供多種家庭自動化服務。據彭博社週二報道,該裝置目前正處於開發階段,無螢幕設計,內部定位為“類人 AI 伴侶”,旨在融入家庭生活。OpenAI 此前曾表達過釋出硬體產品的興趣,外界猜測其計劃推出一款專有的手機,直接與蘋果展開競爭。據知情人士向彭博社描述,這款新裝置與傳統智慧音箱不同,它擁有“個性”,並能隨時間推移主動學習使用者偏好。它將訪問使用者的數字生態系統,包括電子郵件,以提供高度個性
OpenAI 押注家庭,ChatGPT 深入千家萬戶
ChatGPT 將生成式 AI 推向聚光燈下已逾三年,OpenAI 正將其業務範圍從個人使用者擴充套件至整個家庭。OpenAI 正在舊金山招聘一名產品經理,以開發其平臺上的家庭導向體驗,目標受眾包括父母、照護者和老年人。根據職位列表,該職位要求具備為家庭及其他對信任敏感的消費者應用開發產品的背景。此次招聘與 ChatGPT 不斷演變的使用者群體相契合,其使用者年齡已超出最初的年輕群體。Sensor Tower 獨家向 TechCrunch 分享的資料顯示,全球範圍內,35 歲及以上使用者在 Q2 佔 Cha
相關專題推薦
評論 (0)
0/500
本教學將引導您使用 Python 與 ChatGPT 打造專屬的人工智慧語音助理。內容涵蓋專案設定、核心函式庫、虛擬環境建置,並提供詳盡的程式碼範例。無論您是資深開發者或初學者,都能學會如何建立能理解語音指令、並運用 ChatGPT 生成智能回應的 AI 助理。
重點說明
學習如何為 Python AI 助理專案建立虛擬環境。
掌握 SpeechRecognition、pyttsx3 及 OpenAI 等核心函式庫的安裝與應用技巧。
掌握語音辨識、文字處理與語音合成函式編寫的基礎原理。
打造個人化語音控制AI助理。
探索處理各類使用者指令的方法,並透過 ChatGPT 生成回應。
打造語音控制人工智慧助理
核心程式架構與函數
完成環境設定後,即可編寫驅動AI助理的Python程式碼。此過程包含建立語音辨識、文字處理及語音合成功能模組,各模組流程詳述如下:
導入必要函式庫:
- 首先將所需函式庫導入 Python 腳本

。此步驟將為您提供建構 AI 助理所需的功能:
import speech_recognition as srimport pyttsx3import datetimeimport webbrowserimport osfrom dotenv import load_dotenvfrom openai import OpenAI
- 首先將所需函式庫導入 Python 腳本
設定文字轉語音引擎:
- 初始化 pyttsx3 引擎以進行文字轉語音轉換:
engine = pyttsx3.init()此步驟初始化文字轉語音引擎,用於將文字回應轉換為語音輸出。
- 初始化 pyttsx3 引擎以進行文字轉語音轉換:
建立語音輸出函式:
- 定義處理文字轉語音轉換的函式:
def speak(text): print(f"助理:{text}") engine.say(text) engine.runAndWait()此
speak函式接收文字字串作為輸入,並使用 pyttsx3 將其轉為語音。文字同時會輸出至控制台以供除錯與監控。
- 定義處理文字轉語音轉換的函式:
定義聆聽函式:
- 建立函式以擷取麥克風音訊,並透過
SpeechRecognition函式庫轉換為文字:def listen(): recognizer = sr.Recognizer() with sr.Microphone() as source: print("聆聽中...") recognizer.adjust_for_ambient_noise(source) audio = recognizer.listen(source)
try:command = recognizer.recognize_google(audio)print(f"您說:{command}")except sr.UnknownValueError:speak("抱歉,我沒聽清楚")return ""except sr.RequestError as e:speak("語音服務無法運作")return ""
return command.lower()
`listen` 函式會設定語音辨識器與麥克風,接收音訊輸入,並透過 Google 語音辨識技術轉錄為文字。此函式會處理未識別語音或服務中斷等異常狀況。- 建立函式以擷取麥克風音訊,並透過
與 ChatGPT 對話功能:
- 整合 OpenAI API 以獲取 ChatGPT 回應。定義一個接收問題並返回 AI 答案的函式:
def chat_with_gpt(question): load_dotenv() client = OpenAI(api_key=os.getenv('OPENAI_API_KEY'),)
try:response = client.chat.completions.create(model="gpt-3.5-turbo",messages=[{"role": "user","content": question,}],)answer = response.choices[0].message.contentreturn answerexcept Exception as e:print(f"ChatGpt 錯誤 {e}")return "無法從 ChatGpt 取得回應"
此函式呼叫 OpenAI API,傳送使用者提問並接收 ChatGPT 回應。它處理異常狀況,從 API 回應中擷取相關文字,運用 ChatGPT 實現智能情境化回覆。- 整合 OpenAI API 以獲取 ChatGPT 回應。定義一個接收問題並返回 AI 答案的函式:
執行助理函式:此為應用程式的主函式與起始點。
def run_assistant(): speak("你好! 我是您的 AI 助理,有什麼能為您效勞?")while True: command = listen() if "時間" in command: now = datetime.datetime.now().strftime("%H:%M %p") speak(f"當前時間:{now}") elif "開啟 YouTube" in command: speak("正在開啟 YouTube") webbrowser.open("https://www.youtube.com")elif "open google" in command: speak("Opening google") webbrowser.open("https://www.google.com")elif "stop" in command or "exit" in command: speak("Good Bye Friend!") breakelif command: answer = chat_with_gpt(command) speak(answer)執行程式:
if __name__ == '__main__': run_assistant()
執行此程式碼將啟動程式,開始聆聽您的指令。
自訂您的 AI 助理
為特定任務調整程式碼
欲實現真正個人化的 AI 助理,請考慮以下客製化方案:
擴展功能:新增更多 elif 指令語句以處理額外任務,例如:
- 開啟特定網站或應用程式。
- 設定提醒事項。
- 控制智慧家庭裝置。
回應個性化:根據偏好調整助理回應方式。修改語音功能以使用不同聲線、語調或問候語。
實現情境感知:透過儲存對話歷史與使用者偏好強化助理的記憶與感知能力。此功能可依據情境提供更相關且個人化的回應。
強化錯誤處理機制:針對網路異常或API速率限制等情境實作錯誤處理。清晰的錯誤訊息有助有效管理問題。
塑造更具互動性的性格:運用程式設計技巧使AI對話更自然。添加情緒回應功能或強化互動流暢度。可參考自身性格特質設計對話模式,並可視需求整合安全防護機制。
如何使用您的AI語音助理
關鍵要點
以下說明使用者與新語音助理的互動方式
:
啟動新語音助理。為檔案建立新資料夾並取個易記名稱。
啟動程式。輸入 'python assistent.py' 執行程式。
展開對話。使用適當指令讓助理執行任務,例如查詢資訊、講笑話等。
實用 Markdown 表格提升結構與可讀性
表格能整齊組織資訊並提升可讀性。以下為比較不同語音助理的範例:
語音助理比較表
打造客製化語音控制人工智慧助理:權衡考量 利弊
與 權衡
優點
可依實際需求精準調整人工智慧助理的回應內容與功能。
完全掌握數據所有權與處理控制權,降低對外部服務的依賴。
提升程式設計技能,深化對人工智慧與自然語言處理的理解。
缺點
需編寫程式碼、測試與除錯,可能耗費大量時間。
管理函式庫依賴性與相容性可能相當複雜。
需定期更新與修訂以跟上技術變革步伐。
常見問題
建構這款語音控制人工智慧助理需要哪些關鍵函式庫?
核心函式庫包含:SpeechRecognition(語音輸入)、pyttsx3(文字轉語音)、OpenAI(存取ChatGPT服務)以及python-dotenv(管理環境變數如OpenAI API金鑰)。
如何在專案中啟用虛擬環境?
各作業系統的啟動指令不同:Windows 使用 'venvScriptsactivate',macOS/Linux 使用 'source venv/bin/activate'。
如何自訂我的 AI 助理?
透過新增 elif 指令語句擴充功能以執行新任務、個人化回應內容、運用對話歷史與用戶偏好實現情境感知、加入錯誤處理機制,並塑造更具互動性的個性。
相關問題
如何解決「AttributeError: Could not find PyAudio; check installation」錯誤?
在 Python 語音辨識開發過程中,可能遭遇「AttributeError: Could not find PyAudio; check installation」錯誤。此錯誤常見於語音辨識專案,顯示 PyAudio 函式庫安裝異常。PyAudio 是 Python 應用程式中擷取與播放音訊的關鍵元件。解決方法為驗證函式庫安裝狀態,並確保語音辨識任務設定正確。確認 PyAudio 已安裝:首先檢查 PyAudio 函式庫是否正確安裝。 基本步驟是使用 Python 的套件安裝程式 pip。開啟命令列或終端機並執行:pip install PyAudio
考慮使用 Conda 環境:
Conda 可管理 Python 環境與函式庫安裝。透過以下指令建立新環境:conda create -n myenv python=3.xconda activate myenvconda install -c conda-forge pyaudio更新 pip:過時的 pip 版本可能引發問題。請執行:pip install --upgrade pip上述步驟應可解決此常見問題。
隨著當地民眾開始為數位服務付費,印度已從應用程式下載轉向變現
印度曾是全球最大的應用程式下載中心,卻苦於難以創造營收。隨著用戶日益投入人工智慧、娛樂及高級數位服務,這種局面正在改變。根據 Sensor Tower 的數據,印度消費者在行動應用程式上的支出於第二季創下 3.45 億美元的歷史新高,較去年同期增長 35%。 這家分析機構指出,當前增長主要由生成式人工智慧、串流媒體及生產力工具驅動,反映出印度用戶越來越願意為數位訂閱服務付費,而非僅依賴遊戲。這項創
據報道,OpenAI 的首款硬體裝置是一款無螢幕的移動音箱
報道指出,OpenAI 的首個硬體專案是一款移動智慧音箱,其整合了可與 ChatGPT 同步的人工智慧,以提供多種家庭自動化服務。據彭博社週二報道,該裝置目前正處於開發階段,無螢幕設計,內部定位為“類人 AI 伴侶”,旨在融入家庭生活。OpenAI 此前曾表達過釋出硬體產品的興趣,外界猜測其計劃推出一款專有的手機,直接與蘋果展開競爭。據知情人士向彭博社描述,這款新裝置與傳統智慧音箱不同,它擁有“個性”,並能隨時間推移主動學習使用者偏好。它將訪問使用者的數字生態系統,包括電子郵件,以提供高度個性
OpenAI 押注家庭,ChatGPT 深入千家萬戶
ChatGPT 將生成式 AI 推向聚光燈下已逾三年,OpenAI 正將其業務範圍從個人使用者擴充套件至整個家庭。OpenAI 正在舊金山招聘一名產品經理,以開發其平臺上的家庭導向體驗,目標受眾包括父母、照護者和老年人。根據職位列表,該職位要求具備為家庭及其他對信任敏感的消費者應用開發產品的背景。此次招聘與 ChatGPT 不斷演變的使用者群體相契合,其使用者年齡已超出最初的年輕群體。Sensor Tower 獨家向 TechCrunch 分享的資料顯示,全球範圍內,35 歲及以上使用者在 Q2 佔 Cha





首頁






