目錄
前言
關于華為云數字人和云服務
1、華為云數字人
(1)MetaStudio介紹
(2)應用場景
(3)功能特性
(4)使用體驗
2、華為云云服務
華為云數字人結合DeepSeek的核心流程
1、核心流程
(1)用戶與數字人對話
(2)華為云請求接口
(3)調用 DeepSeek V3
(4)返回回復給數字人
2、詳細操作流程
案例實現過程
1、華為云數字人相關內容
2、DeepSeek相關內容
3、具體邏輯代碼實現
(1)Controller 層
(2)華為云數字人服務
(3)示例 DEMO 體驗
應用場景
1、AI 英語老師
2、智能律師
3、旅游攻略達人
4、其他
結束語
前言
在數字化浪潮的推動下,近幾年AI技術正以前所未有的速度改變著我們的日常生活和工作方式。從智能家居到智能辦公,從醫療健康到教育娛樂,AI從最初的概念階段發展到如今的切實落地,其應用場景無處不在。再加上2025年最火的兩個內容:華為云數字人和DeepSeek,為技術圈帶來了新的方向。在這種背景下,打造一款集成了先進AI技術的智能交互平臺,憑借其強大的功能和靈活的應用場景,為各行業帶來了全新的解決方案。華為云數字人與DeepSeek的強強聯合,不僅能夠提供高度逼真的數字人形象,還能通過深度學習和自然語言處理技術,實現與用戶的自然對話和智能交互。無論是教育領域的虛擬教師,還是法律領域的智能律師,亦或是旅游領域的攻略達人,DeepSeek都能根據不同應用場景和需求,提供個性化的智能服務。這一技術的出現,不僅提升了用戶體驗,還為企業和開發者提供了強大的工具,以構建更加智能和高效的應用程序。本文將通過一個實戰案例,詳細解析華為云數字人+DeepSeek的核心流程、具體實現和應用場景,幫助大家全面了解這一前沿技術的實際應用和開發細節。
關于華為云數字人和云服務
首先,讓我們來深入了解華為云數字人以及其強大的云服務。華為云數字人作為一項前沿技術,憑借其高度逼真的形象和智能交互能力,為用戶帶來了全新的體驗。無論是企業級應用還是個人開發,華為云數字人都展現出了巨大的潛力和價值。它不僅能夠提供高度定制化的服務,還能通過先進的技術實現與用戶的自然對話和智能交互。無論是教育、醫療、法律還是旅游等領域,華為云數字人都能根據不同的應用場景和需求,提供個性化的解決方案。因此,無論是對于技術愛好者還是行業專業人士,華為云數字人都是非常值得深入體驗和探索的一項技術。
1、華為云數字人
華為云數字人,全稱:數字內容生產線 MetaStudio。數字內容生產線,提供數字人視頻制作、視頻直播、智能交互、企業代言等多種服務能力,使能千行百業降本增效。另外,數字內容生產線(MetaStudio)解決方案,提供數字人視頻與直播、智能交互等服務,使能千行百業場景應用。
(1)MetaStudio介紹
基于盤古數字人大模型,華為云MetaStudio打造了一站式、全流程的數字人直播服務,通過高效的訓練和推理服務,重塑千行百業的電商直播。
數字人模型生成和驅動:基于一張照片或者一段3-5分鐘視頻,可以生成分身數字人模型,生成效率相比業界提升3倍以上。在數字人模型生成以后,可以通過模型驅動推理服務,讓數字人動起來,包括聲音、表情、口型、肢體動作等,口型匹配準確率>95%,表情、動作更自然。
直播話術智能生成:基于十萬級高質量直播話術的預訓練,自動生成專業話術,精準驅動數字人準確、流利地介紹產品,讓每個人都能成為專業的主播。
智能互動問答:基于盤古大模型能力,和直播間觀眾智能互動,大幅提升直播體驗和商業轉化率。
(2)應用場景
華為云數字人的應用場景如下所示:
- 教育:數字人課件制作、虛擬老師教學。
- 政府及公共事業:數字人代言、數字人宣講、數字人會議等。
- 醫療健康:智能醫療客服、虛擬醫生培訓等。
- 金融:數字人智能客服、數字人企業代言、數字人培訓視頻制作等。
- 文旅:智能客服、數字人導覽、數字人講解等。
- 廣電傳媒:虛擬綜藝主持人、虛擬新聞主播等。
- 互娛電商:數字人文娛直播、數字人短視頻制作、電商直播等。
(3)功能特性
數字內容生產線Metastudio通過AI學習真人形象和聲音,來生成數字人模型,相應功能為形象制作、聲音制作和Flexus分身數字人。再將模型用于音視頻內容的創作,相應功能為視頻制作、視頻直播和智能交互,主要是生成畫面內容。也可以直接通過靜態的人臉照片生成視頻,對應功能為照片數字人。
(4)使用體驗
關于華為云數字內容生產線 MetaStudio使用體驗,參見鏈接 數字內容生產線_MetaStudio_數字人生產平臺_虛擬直播_分身數字人-華為云
2、華為云云服務
俗話說:用云服務,就用彈性的,經濟又實惠。那么華為云的彈性云服務器 ECS也是非常不錯的,可以提供安全穩定、可隨時自助獲取、彈性伸縮的計算服務,靈活計費,極簡運維,極大降低企業成本。
關于華為云的彈性云服務器 ECS參見鏈接 云服務器_云主機_彈性云服務器ECS_租用_購買-華為云
華為云數字人結合DeepSeek的核心流程
關于華為云數字人結合DeepSeek來實現具體的落地內容,先來介紹具體的核心流程,具體如下所示:
用戶和數字人對話 --> 華為云數字人把對話信息和上下文請求接口 --> 拿到信息,組裝prompt去調用deepseek V3 --> 返回給華為云數字人進行口播
1、核心流程
(1)用戶與數字人對話
用戶通過華為云數字人平臺與數字人進行對話。用戶可以提出各種問題,數字人將根據問題內容生成相應的回答,這一過程類似于與真人進行對話,用戶可以感受到自然流暢的交互體驗。
(2)華為云請求接口
當用戶與數字人對話時,華為云數字人會將對話信息和上下文發送到開發者提供的服務端接口,這個接口是開發者根據具體應用場景開發的,用于處理用戶請求并生成相應的回復。
(3)調用 DeepSeek V3
開發者的服務端接口接收到華為云發送的請求后,會根據請求內容組裝一個 prompt(提示文本),然后調用 DeepSeek V3 的 API,將 prompt 發送給 DeepSeek V3,DeepSeek V3 會根據 prompt 生成相應的回復內容。
(4)返回回復給數字人
DeepSeek V3 生成的回復內容會通過開發者的服務端接口返回給華為云數字人平臺,數字人再將回復內容以語音或文字的形式展示給用戶,完成一次完整的交互過程。
2、詳細操作流程
詳細操作流程如下所示:
1、用戶在web頁面發起對話;
2、華為云數字人系統收集用戶輸入,轉化成固定結構,調用鏈接;
3、服務端接收到調用,解析請求數據,構造prompt調用deepseek;
4、服務端拿到deepseek返回,返回給華為云數字人系統;
5、華為云數字人系統根據返回,輸出數字人對話互動。
接下來就來分享具體的案例實現流程過程,本文的案例主要使用的技術包含:華為云ECS、華為云數字人、DeepSeek。
案例實現過程
接下來就是本文的重頭戲,分享華為云數字人結合DeepSeek具體的應用案例。這里還是要重申一下:本文的示例demo里是一個基于線上老師的應用場景,不過大家可以根據這個思路拓展更多其他的場景,這里通過三個模塊來詳細介紹,具體實現流程如下所示。
1、華為云數字人相關內容
首先,需要開通華為云分身數字人智能交互。登錄華為云平臺,進入數字人服務頁面,開通分身數字人智能交互功能,具體詳情請打開鏈接 https://console.huaweicloud.com/metaStudio/?region=cn-north-4#/metaStudio/cbc-order 然后選擇“智能交互”模塊,進入配置頁面。
付費開通之后,然后進入這個智能交互,在智能交互頁面,選擇一個數字人,華為云提供了多種預設的數字人形象,用戶可以根據需求選擇合適的形象,接著配置數字人的參數,如語音、表情等,這里要注意:一定要選擇正確,具體如下所示:
記得單擊并選擇“智能交互”,這是本文示例所選的內容,具體“智能交互”如下所示:
接著打開進入設置選項,具體操作如下所示:
然后左邊就是選一個數字人,本文示例選的是系統默認的一個;右邊就是配置一些參數(這里主要配置的是第三方語言模型,也就是、自己開發的接口(這里的數字人老師對應了后面的assistant)。接著配置第三方語言模型,在配置頁面中,選擇“第三方語言模型”選項,輸入開發者提供的接口地址和激活碼。特別提醒:設置且開發完之后,需要發布,發布完會有鏈接和激活碼,后面會提供到。
接著還需要開通華為云云服務相關的業務,以便部署我們的程序,本文示例關于華為云云服務使用的是詳情參見鏈接:https://console.huaweicloud.com/ecm/?region=cn-north-4#/ecs/dashboard ,具體入口如下圖所示。
2、DeepSeek相關內容
接著是注冊并登錄DeepSeek開放平臺,在 DeepSeek 平臺的用戶中心,找到 API keys 管理頁面,復制生成的 API keys,然后拿到密鑰。特別提示:API keys 是調用 DeepSeek V3 接口的必要憑證,需要妥善保管。關于注冊并登錄DeepSeek開放平臺的詳細步驟不再介紹,這里只來介紹一下具體的使用DeepSeek的費用及操作,具體如下所示:
也就是打開 DeepSeek 注冊并登錄就可以了,注冊完成后,DeepSeek平臺會提供 API keys,這里是使用用于調用 DeepSeek V3 的接口,具體如下所示:
3、具體邏輯代碼實現
通過上面2步驟開通不同的產品,然后就是我們自己的代碼實現了,也就是開發服務端接口,本示例選用的開發語言是Java來處理華為云發送的請求,具體的實現步驟如下所示:
(1)Controller 層
關于Controller 層的具體實現代碼如下所示:
@RestController
@RequestMapping("/ds")
@Slf4j
public class MetaStudioController {@Autowiredprivate MetaStudioService metaStudioService;@Autowiredprivate ObjectMapper objectMapper;@PostMapping("/chat/{assistant}")public MetaStudioResponse chat(@PathVariable String assistant, @RequestBody(required = false) MetaStudioRequest request) {// 設置助手類型request.setAssistant(assistant);log.info("MetaStudio chat request object: {}", toJson(request));// 檢查請求的消息內容是否為空if (request.getMessages() == null || request.getMessages().isEmpty() || request.getMessages().get(0) == null || !request.getMessages().get(0).containsKey("content") || request.getMessages().get(0).get("content") == null || request.getMessages().get(0).get("content").trim().isEmpty()) {log.warn("MetaStudio chat request message content is empty");MetaStudioResponse errorResponse = new MetaStudioResponse();errorResponse.setText("請問出您想要咨詢的問題");return errorResponse;}MetaStudioResponse response = metaStudioService.chat(request);log.info("MetaStudio chat response: {}", toJson(response));return response;}/*** 將對象轉換為 JSON 字符串* * @param obj 要轉換的對象* @return JSON 字符串,轉換失敗時返回 "[轉換失敗]"*/private String toJson(Object obj) {try {return objectMapper.writeValueAsString(obj);} catch (JsonProcessingException e) {log.error("JSON 序列化失敗", e);return "[轉換失敗]";}}
}
(2)華為云數字人服務
關于華為云數字人服務的邏輯代碼,具體如下所示:
@Slf4j
@Service
public class MetaStudioService {@Autowiredprivate DeepSeekService deepSeekService;public MetaStudioResponse chat(MetaStudioRequest request) {try {// 構建消息列表List<Map<String, Object>> apiMessages = new ArrayList<>();// 添加系統提示詞Map<String, Object> systemMessage = new HashMap<>();systemMessage.put("role", "system");systemMessage.put("content", buildPromptByAssistant(request));apiMessages.add(systemMessage);// 添加用戶問題和歷史對話 - 交替設置角色if (request.getMessages() != null && !request.getMessages().isEmpty()) {boolean isUserMessage = true; // 第一條是用戶消息for (Map<String, String> msg : request.getMessages()) {Map<String, Object> message = new HashMap<>();message.put("role", isUserMessage ? "user" : "system");message.put("content", msg.get("content"));apiMessages.add(message);// 切換角色isUserMessage = !isUserMessage;}}// 調用 DeepSeek V3 APIString responseText = deepSeekService.chatV3(apiMessages);// 構建響應MetaStudioResponse response = new MetaStudioResponse();response.setText(responseText);return response;} catch (Exception e) {log.error("調用 deepseek 接口異常", e);MetaStudioResponse errorResponse = new MetaStudioResponse();errorResponse.setText("抱歉,可以再說一次嗎?");return errorResponse;}}
}
然后根據傳入的assistant來確定使用的提示詞(這里的prompt只是示例,所以比較簡單),具體操作如下所示:
/*** 根據助手類型構建不同的提示詞*/private String buildPromptByAssistant(MetaStudioRequest request) {String assistant = request.getAssistant();StringBuilder promptBuilder = new StringBuilder();// 基礎系統提示詞promptBuilder.append("你是一個有幫助、誠實、無害的AI助手。");promptBuilder.append("請用簡短、口語化的方式回答,不要過于書面化,因為你是在和人對話。");promptBuilder.append("不要太長,保持回答簡潔明了。");// 根據助手類型添加特定提示詞if (assistant != null) {switch (assistant.toLowerCase()) {case "fortune":promptBuilder.append("你是一位專業的算命師,擅長解讀星座、生肖、塔羅牌等。");promptBuilder.append("保持神秘感和專業性,但態度親切。");break;case "doctor":promptBuilder.append("你是一位醫療顧問,提供健康相關的一般性建議。");promptBuilder.append("注意強調你不能替代醫生,嚴重問題應該去醫院。");break;case "friend":promptBuilder.append("你是用戶的朋友,語氣親切隨和,能理解用戶的情緒。");promptBuilder.append("可以適當使用表情符號,讓對話更有親切感。");break;case "teacher":promptBuilder.append("你是一位教師,擅長解釋復雜概念,但要用簡單易懂的語言。");promptBuilder.append("耐心回答問題,鼓勵思考。");break;default:promptBuilder.append("以友好、隨和的語氣回答用戶問題。");}}return promptBuilder.toString();}
然后就是對調用DeepSeek API的代碼,具體實現如下所示:
@Slf4j
@Service
public class DeepSeekService {@Autowiredprivate DeepSeekConfig deepseekConfig;@Autowiredprivate RestTemplate restTemplate;public String chatV3(List<Map<String, Object>> messages) {log.info("Sending chat request to Deepseek: {}", messages);HttpHeaders headers = new HttpHeaders();headers.setContentType(MediaType.APPLICATION_JSON);headers.set("Authorization", "Bearer " + deepseekConfig.getApiKey());Map<String, Object> requestBody = new HashMap<>();requestBody.put("model", deepseekConfig.getV3Model());requestBody.put("messages", messages);requestBody.put("temperature", 0.7);requestBody.put("max_tokens", 4000);requestBody.put("top_p", 0.95);requestBody.put("stream", false);HttpEntity<Map<String, Object>> request = new HttpEntity<>(requestBody, headers);try {ResponseEntity<Map> response = restTemplate.postForEntity(deepseekConfig.getApiUrl() + "/v1/chat/completions",request,Map.class);if (response.getBody() != null) {if (response.getBody().containsKey("error")) {Map<String, Object> error = (Map<String, Object>) response.getBody().get("error");String errorMessage = error.containsKey("message") ? (String) error.get("message") : "Unknown error";throw new RuntimeException("Deepseek API error: " + errorMessage);}List<Map<String, Object>> choices = (List<Map<String, Object>>) response.getBody().get("choices");if (choices != null && !choices.isEmpty()) {Map<String, Object> choice = choices.get(0);Map<String, Object> message_obj = (Map<String, Object>) choice.get("message");if (message_obj != null) {String content = (String) message_obj.get("content");if (content != null && !content.trim().isEmpty()) {return content;}}}}throw new RuntimeException("Invalid response from Deepseek API: " + response.getBody());} catch (Exception e) {log.error("Error calling Deepseek API: {}", e.getMessage());throw new RuntimeException("Error calling Deepseek API: " + e.getMessage());}}
}
接著將開發好的服務部署到華為云服務器上,確保服務能夠正常運行就是到云服務器上,然后把服務部署啟動一下,具體如下所示:
最后配置下nginx,確保服務能夠穩定地處理外部請求,具體如下所示:
通過上面的實現步驟,就完成了本文示例的要求及效果,具體的最終結果如下所示:
(3)示例 DEMO 體驗
分享一下本文示例的體驗,大家可以通過以下鏈接體驗 AI 英語老師示例(但是由于時效性限制,如果出現體驗受限那就是暫停訪問,請知曉),具體如下所示:
發布鏈接:智能交互
激活碼:NME39TYL7
大家可以通過上述鏈接和激活碼,體驗與 AI 英語老師的互動對話,感受智能交互的魅力,操練起來吧!
應用場景
這里還是要介紹一下華為云數字人結合DeepSeek的應用場景,其實前面也介紹了一些具體的應用場景,但是這里還是要介紹一下。
1、AI 英語老師
根據上面的示例,通過編寫一個專門的 prompt,可以創建一個 AI 英語老師,用戶可以與這個數字人進行英語對話,數字人會根據用戶的輸入生成相應的英語回復,幫助用戶提高英語口語和聽力能力。
2、智能律師
還可以創建一個智能律師的數字人,用戶可以咨詢法律問題,數字人會根據法律知識庫生成相應的回答,提供法律咨詢和建議。
3、旅游攻略達人
也可以創建一個旅游攻略達人的數字人,用戶可以詢問旅游目的地的相關信息,數字人會根據旅游知識庫生成詳細的旅游攻略,包括景點推薦、美食推薦、交通指南等。
4、其他
除了上面介紹的三種應用場景,其實大家還可以根據自己的實際情況拓展更多的適應場景,這里就不再一一舉例介紹。
結束語
通過上文的詳細介紹,不難看出在數字化時代,人工智能技術正以前所未有的速度改變著我們的生活和工作方式,而華為云數字人+DeepSeek 作為一款集成了先進 AI 技術的智能交互平臺,不僅為企業和開發者提供了強大的工具,也為用戶帶來了全新的交互體驗。經過本文的詳細介紹,想必大家已經掌握了如何利用華為云數字人和DeepSeek 構建自己的智能交互應用,并將其應用于實際業務中,無論是教育、法律、翻譯還是旅游領域,該方案都能夠提供個性化的智能服務,提升用戶體驗和業務效率。在未來,隨著 AI 技術的不斷發展,華為云數字人+DeepSeek 將在更多領域發揮重要作用,我們期待看到更多基于 DeepSeek 的創新應用,為我們日常應用帶來更多的便利和價值。同時,也期待大家能夠加入到這一領域,共同探索和創新,推動 AI 技術的發展和應用,讓我們一起期待一個更加智能和便捷的未來!