開源工程地址:https://github.com/zhangliwei7758/unity-AI-Chat-Toolkit
- 先致敬zhangliwei7758,開放這個源碼
一、建立工程
- 建立Unity工程(UnityAiChat)
- 拖入Unity-AI-Chat-Toolkit.unitypackage
- 打開chatSample工程,可以另存一個,方便改動
二、工程說明
- Quad:背景
- 胡桃:人物模型
- Canvas-Chat:UI
- ChatAgent:數字人代理配置
- LLM:大模型,這里集成了deepseek,訊飛等,
- TTS/STT:文字轉語音/語音轉文字,集成了訊飛
- Audiosouse:語音模塊
三、LLM大模型說明
-
chatgpt:
集成了chatgpt 3.5/4 的api接口,使用這個腳本,需要在腳本參數里填寫openai的api key, 默認設置的模型是chatgpt-3.5,如果要替換chatgpt4,需要自行修改模型名稱; -
chatglm:
集成了對chatglm官方示例的api接口,如果使用chatglm官方的倉庫部署的api服務,就可以直接使用,需要配置的內容是,配置部署好的api地址即可;
智譜清言:https://chatglm.cn/main/alltoolsdetail?lang=zh -
rwkv:
集成了針對rwkv runner開源項目的api接口,因為rwkv runner這個項目的api格式和chatgpt是一樣的,如果下載rwkv runner這個項目使用的話,可以使用工具提供的腳本,只需要在api地址參數配置實際的地址就可以了。
https://rwkv.cn/ -
星火大模型 chatSpark:
集成了科大訊飛的星火大模型的api對接功能,可根據需求自行配置V1.5/V2.0版本 -
百度智能云千帆大模型平臺:
集成了百度智能云千帆大模型平臺模型api服務,包括文心一言等十種模型 -
智譜AI開放平臺:
集成了智譜AI開放平臺下,chatGLM Turbo模型的api支持 -
Ollama工具:
集成對Ollama部署的本地大模型的API調用支持,可以利用chatOllama模塊驅動AI小姐姐聊天 -
DeepSeek:
集成對DeepSeek的API調用支持
另外還有dify知識庫大模型平臺
四、TTS/STT: 語音合成 / 語音識別
-
微軟Azure語音合成以及語音識別服務:
如果使用這個服務,需要準備微軟Azure的語音服務令牌,自行注冊賬號,開通服務獲得; -
百度AI的語音合成以及語音識別服務:
使用這個服務時,注冊百度AI開放平臺的賬號,開通語音合成、語音識別服務,創建應用獲取到相關的密鑰,填入相應腳本即可。 -
OpenAI平臺提供的在線Whisper語音識別服務:
集成了openAI平臺的Whisper在線語音識別api,需要使用openai的api key 集成了openAI平臺的TTS語音合成api,可實現語音合成功能 -
提供針對開源的Whisper模型的api集成:
集成的項目是github上開源項目:https://github.com/ahmetoner/whisper-asr-webservice 部署這個項目,可使用本模塊來調用語音識別的api -
提供針對科大訊飛語音服務的api集成:
實現了對科大訊飛語音服務的api集成,采用了websocket方式,可使用科大訊飛的語音識別以及語音合成服務 -
GPT-SoVITS
實現高質量的 文本到語音(TTS) 和 語音克隆(Voice Cloning)
GPT-SoVITS Gradio,是基于 Gradio 開發的交互式 Web 界面,方便用戶通過瀏覽器直接使用 GPT-SoVITS 的語音合成功能,無需編寫代碼。
GPT-SoVITS FastAPI,FastAPI 是一個高性能 Python Web 框架,適合構建 RESTful API,是將模型封裝為 API 服務的后端方案,供開發者集成到其他應用或系統中。
五、使用訊飛+deepseek,實現數字人
- deepseek:https://platform.deepseek.com/
一定要充10元哦 - deepseek API:https://api-docs.deepseek.com/zh-cn/
- 接口:https://api.deepseek.com/chat/completions
- Unity里ChatAgent里選擇chatDeepSeek
- chatDeepSeek的api_key:
- System Setting:可以設置人設,比如講解員
- Prompt:AI提示詞
- Unity里ChatAgent里選擇xunfei作為語音識別
- 填寫訊飛的key
注意,這里只需要填寫紅框的部分;訊飛的api的順序是先api_secret,和這里順序相反,不要填錯了
- ChatSample需要勾選Is Vocie Mode
注意:這樣選擇后,能說話了,但是有長度報錯,可能原因是目前deepseek是流式的,但是語音是等文字回復完成后,一次生成的
- 我們改動chatgpt-3.5-turbo,作為deepseek的接口來使用,避免這個問題
- 設置下ChatSample
最后注意事項:我們麥克風,盡量用那種單獨的麥克風,如果用攝像頭的,有的時候會認不到