華為云Flexus+DeepSeek征文|體驗華為云ModelArts快速搭建Dify-LLM應用開發平臺并創建b站視頻總結大模型
什么是華為云ModelArts
- 華為云ModelArts ModelArts是華為云提供的全流程AI開發平臺,覆蓋從數據準備到模型部署的全生命周期管理,幫助企業和開發者高效構建、訓練、部署AI模型,實現智能化升級。
開始接觸華為云ModelArts Studio大模型即服務平臺
- 訪問官方地址
https://www.huaweicloud.com/product/modelarts/studio.html
快速搭建Dify-LLM應用開發平臺
什么是Dify-LLM應用開發平臺
-
Dify-LLM 應用開發平臺是一個基于大型語言模型(LLM)的低代碼/無代碼開發平臺,旨在幫助開發者快速構建、部署和管理基于 AI 的應用程序。它提供了可視化的操作界面和豐富的工具,簡化了從模型調用到應用上線的全流程,適合不同技術背景的用戶使用。
-
華為云提供了一鍵部署快速搭建Dify平臺的功能,使開發者可以快速搭建生產級的生成式AI應用
-
快速搭建的方案架構如下
-
通過VPC與安全組構建安全網絡,用戶經ELB接入CCE部署的Dify服務集群,結合Embedding與reranker增強AI能力,并依托Redis、PostgreSQL、CSS與OBS實現多樣化數據存儲與處理,具備高可用、可擴展特性
開始搭建Dify-LLM應用開發平臺
-
先進入官網
https://www.huaweicloud.com/solution/implementations/building-a-dify-llm-application-development-platform.html
-
選擇一鍵部署(云服務器單機部署)
-
這里不做操作直接下一步
-
把密碼設置好下一步
-
繼續下一步
-
點擊創建執行計劃
-
可以查看費用,然后點擊部署
-
可以看到正在按順序部署
-
等待服務部署完畢,訪問Dify-LLM應用開發平臺
-
部署完畢,訪問Dify-LLM應用開發平臺
-
登錄Dify-LLM應用開發平臺
-
至此搭建Dify-LLM應用開發平臺大功告成,不得不說,華為云一鍵部署Dify平臺真是太方便了,全程不需要怎么操作,全是一鍵搞定
開始搭建b站視頻總結大模型
什么是b站視頻總結大模型
- B站視頻總結大模型是專門用于將B站(嗶哩嗶哩)視頻內容提煉成出核心摘要的AI工具,通過自然語言處理技術快速提取關鍵信息,幫助用戶高效獲取視頻主旨。
開始搭建
-
開始搭建b站視頻總結大模型,新建一個工作流
-
然后我們需要調用華為云的DeepSeek-V3-32K模型作為基底大模型
-
安裝dify中的大模型插件,OpenAI-API-compatible
-
等待安裝完成
-
設置大模型
-
密鑰從華為云中獲取
-
進入api-key管理,創建自己的key,用于調用大模型
-
回來繼續配置key,注意接口地址是
https://api.modelarts-maas.com/v1
-
這樣大模型就配置完畢了
-
回到流水線,新建兩個參數
-
然后創建代碼執行
import json
import requests
import redef main(arg1: str, arg2: str) -> dict:headers = {"Cookie": arg1,"Origin": "https://www.bilibili.com","Referer": "https://www.bilibili.com",}bvid = arg2 result = {"title": "", "subtitles": ""} try:video_info_url = f"https://api.bilibili.com/x/web-interface/view?bvid={bvid}"video_info_res = requests.get(video_info_url, headers=headers, timeout=10)video_info_res.raise_for_status()video_data = video_info_res.json()result["title"] = video_data["data"]["title"]aid = video_data["data"]["aid"]cid = video_data["data"]["cid"]subtitle_info_url = f"https://api.bilibili.com/x/player/wbi/v2?aid={aid}&cid={cid}"subtitle_info_res = requests.get(subtitle_info_url, headers=headers, timeout=10)subtitle_info_res.raise_for_status()subtitle_url_match = re.search(r'"subtitle_url":"(.*?)"', subtitle_info_res.text)if not subtitle_url_match:result["subtitles"] = "No subtitles available"return {"result": json.dumps(result, ensure_ascii=False)} subtitle_url = f"https:{subtitle_url_match.group(1)}"subtitle_res = requests.get(subtitle_url, headers=headers, timeout=10)subtitle_res.raise_for_status()subtitle_data = json.loads(subtitle_res.text)subtitles = [item['content'] for item in subtitle_data['body']]result["subtitles"] = "\n".join(subtitles) processed_subtitles = preprocess_subtitles(result["subtitles"])result["subtitles"] = processed_subtitlesreturn {"result": json.dumps(result, ensure_ascii=False)}except Exception as e:return {"result": json.dumps({"error": str(e)}, ensure_ascii=False)}
- 然后創建代碼執行,用于提取返回值結果
import jsondef main(data_str: str) -> dict:try:data = json.loads(data_str) title = data.get("title", "未知標題")subtitles = data.get("subtitles", "")if not subtitles.strip():return {"title": title,"subtitles": "(無字幕內容)"}else:return {"title": title,"subtitles": subtitles}except json.JSONDecodeError:return {"title": "數據解析失敗","subtitles": ""}
- 然后把結果返回給大模型進行匯總總結
你是一個專業的視頻內容分析師,請根據以下視頻標題和字幕,生成一份簡潔且結構化的總結:### 視頻標題
/title### 預處理后的字幕
/subtitles### 總結要求
1. **背景**:用1句話概括視頻主題(需包含標題關鍵詞)。
2. **關鍵事件**:按時間順序列出3-5個核心事件(避免細節,用短語描述)。
3. **亮點**:提取2-3個有趣/意外的內容(如反差、幽默、情感轉折)。
4. **情感傾向**:判斷視頻整體情緒(積極/消極/中性)并說明原因。
5. **長度控制**:總結總字數不超過200字。### 輸出格式
```json
{"summary": {"background": "一句話背景","key_events": ["事件1", "事件2", "事件3"],"highlights": ["亮點1", "亮點2"],"sentiment": {"tone": "積極/消極/中性","reason": "判斷依據"}}
}
- 添加結束節點,輸出結果
- 然后發布更新,進行功能測試
- 至此b站視頻總結大模型搭建完畢