华为云Flexus+DeepSeek征文|体验华为云ModelArts快速搭建Dify-LLM应用开发平台并创建b站视频总结大模型
华为云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站视频总结大模型搭建完毕