大家好,我是大明哥,前大厂程序员,目前在探索 AI
在教程 【Coze 实战教程】- 手把手教你搭建第一个流程图我们提取抖音视频中的文案是先提取视频中的音频,然后再将音频转换为文本,虽然实现了。但总用别人的插件总是差那么点意思,所以本节课程大明哥教你如何自定义插件来来实现音频转文本。
所以,我们的方案是:
- 通过插件[
抖音文案获取
]提取抖音视频中的音频 - 通过自定义插件的方式提取音频中的文案
提取抖音视频的音频
依然使用插件[抖音文案获取
]:
将其添加到流程图里面测试下:
将链接打开(为了演示内容,这里打开的是视频链接):
自定义插件提取音频文案
我们需要借用阿里云百炼平台的能力。地址https://bailian.console.aliyun.com/。没有开通的需要先开通百炼的模型服务,新用户获取每个模型 100万免费 Tokens:
开通后,在菜单【API 参考
】里面就有获取 API Key 的方法,照着它操作就可以了。
拿到 API Key 后,我们就可以利用这个 API Key 来调用阿里云百炼平台。
自定义插件
在 Coze 中,一个插件可包含多个工具,每个工具用于完成一个指定的动作。
在 Coze 中创建插件分为两个步骤:
- 先创建插件,我们可以简单理解它是一个壳子。
- 在创建工具,插件中真正干活的
我们在流程图中添加的是插件中的工具。
在 [资源
]出点击[插件
]按钮:
点击[确认
]后:
点击[添加工具
]
[确认
]:
这里分代码和元数据两块。
代码
Coze 默认内置了代码模板。
代码块需要注意两点:
- 不要删除或修改模板内的 handler 方法,否则将导致函数运行失败。
- 返回内容必须为 JSON 对象。
元数据
元数据配置说明:
配置项 | 描述 |
---|---|
名称 | |
工具名称。建议输入清晰易理解的名称,便于后续大语言模型搜索与使用工具。 | |
描述 | |
工具的描述信息,一般用于记录当前工具的用途。 | |
启用 | |
是否启用当前工具。使用说明: - 如果工具未开发测试完成,建议先禁用该工具,只启用并发布已通过测试的工具。 - 如果需要下线某一工具,可将该工具设置为禁用,并再次发布插件。 - 如果插件中只有一个工具,则不支持禁用该工具。如需下线该工具,您可以选择直接删除该插件,或者创建另一个工具并完成开发测试后,再禁用该工具,最后发布插件。 | |
输入参数 | |
当前工具对应接口的输入参数信息。准确、清晰易理解的参数名称、描述等信息,可以让大语言模型更准确的使用工具。 | |
输出参数 | |
当前工具对应接口的输出参数信息。准确、清晰易理解的参数名称、描述等信息,可以让大语言模型更准确的使用工具。 | |
我们插件[输入参数]有两个,一个是音频url(voice_url),一个是阿里云 API Key(ali_api_key),输出参数就是文案的内容了,所以:
写代码
由于大明哥刚刚接触 Python,不知道 Python 的语法,不知道 Coze 如何接收参数、输出参数,所以大明哥分两步来实现这个逻辑。
- 先利用 Coze 中的 AI 生成一个基本结构,如何接收参数和输出参数
唤醒 Coze 的 AI 助手,生成基本结构:
- 再利用 DeepSeek 按照阿里云百炼的 API 文档来生成对应的代码
提示词如下:
def handler(args: Args[Input])->Output:
voice\_url = args.input.voice\_url
ali\_api\_key = args.input.ali\_api\_key
return {"message": "Hello, world!", "voice\_url": voice\_url, "ali\_api\_key": ali\_api\_key}
上面是 Coze 平台的 Python 代码基本结构,你学习下。然后根据我的要求,按照上面的结构来写 Python 代码:
下面这段代码是调用阿里云平台解析音频获取文案的 Python 代码:
from http import HTTPStatus
from dashscope.audio.asr import Transcription
import requests
import dashscope
dashscope.api\_key = "sk-xxxxxxxxxxxx"
task\_response = Transcription.async\_call(
model='paraformer-v2',
file\_urls=['https://sf3-cdn-tos.douyinstatic.com/obj/ies-music/7483447245975669543.mp3'],
language\_hints=['zh']
)
transcribe\_response = Transcription.wait(task=task\_response.output.task\_id)
if transcribe\_response.status\_code == HTTPStatus.OK:
result\_url = transcribe\_response.output['results'][0]['transcription\_url']
textResponse = requests.get(result\_url).json()
print(textResponse['transcripts'][0]['text'])
我的要求:
1. 将 voice\_url 当作音频链接、ali\_api\_key 为 api\_key
2. Python 代码返回参数为 content,值为 textResponse['transcripts'][0]['text']
3. 不要改变 Coze 代码中的handler 方法,返回参数为 JSON
阿里云百炼的这段代码是大明哥在官方文档里面找到的,然后对其改造了下。
将生成的代码贴到 Coze 平台里面去,然后试运行下,你会发现它会报错:
这是说依赖 dashscope 没有安装,我们安装即可:
安装完毕后,再测试下:
非常轻松就将文案提取出来了!
发布插件
当我们测试没有问题后,点击发布就可以了。
发布完成后:
流程图中使用自定义插件
在流程中添加我们刚刚创建的插件:
执行下:
今天的分享就到这里啦,如果想领取文中完整版的**《流程图、代码、提示词》** ,可以加大明哥微信,邀请进学习空间!
若有收获,可以点击下方⬇️关注我,以防迷路