範例:智慧播客 🎙#
描述
🎙️AI播客 - 在M2 Max晶片上的多智能體語音對話
支援語言:
英文對應代碼檔案:AI_Podcast.py
中文對應代碼檔案:AI_Podcast_ZH.py
英文版本涉及技術:
Xinference 作為平台
關於演示功能的詳細說明:
啟動 XInference,部署 Wizardlm 模型與 Vicuna 模型。透過為兩個模型指定名稱,並告知它們有一位名為「username」的人類使用者,來啟動聊天室,其中「username」由使用者輸入提供。接著為聊天室初始化一個空的聊天歷史。
使用音訊設備將錄音儲存到檔案中,然後使用OpenAI的Whisper將檔案轉錄為人類可讀的文字字串。
根據輸入的訊息字串,判斷使用者想要與哪些代理(模型)進行對話。呼叫這些目標代理,並將使用者輸入字串與聊天歷史作為輸入,讓模型生成對應的內容。
當模型的輸出準備好時,使用MacOS的「Say」指令透過揚聲器生成音訊。每個代理在說話時都有各自的聲音。
將用戶輸入和代理回應儲存到聊天歷史中,並循環遞迴程式,直到用戶在其回應中明確說出「再見」之類的話語。
Xinference的突出特性:
借助 Xinference 的分散式系統,我們可以在同一會話和同一「聊天室」中輕鬆部署兩個不同的模型。在資源充足的情況下,該框架可以同時部署任意數量的模型。
使用 Xinference,只需加入幾行程式碼就能輕鬆部署模型。例如,在示範中啟動 vicuna 模型,只需:
args = parser.parse_args() endpoint = args.endpoint client = Client(endpoint) model_a = "vicuna-v1.3" model_a_uid = client.launch_model( model_name=model_a, model_format="ggmlv3", model_size_in_billions=7, quantization="q4_0", n_ctx=2048, ) model_a_ref = client.get_model(model_a_uid)
然後,Xinference 客戶端將處理「目標模型的下載和快取」、「為模型設定環境和程序」以及「在所選的端點執行服務」。你現在已經準備好與你的 LLM 模型互動。
原始演示影片
原始碼
`AI播客 <xorbitsai/inference>`_(英文版)
`AI播客 <xorbitsai/inference>`_(中文版)