华为云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 re
def 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_subtitles
return {"result": json.dumps(result, ensure_ascii=False)}
except Exception as e:
return {"result": json.dumps({"error": str(e)}, ensure_ascii=False)}
- 然后创建代码执行,用于提取返回值结果
import json
def 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站视频总结大模型搭建完毕