AI 智能体 | 手捏素材选题库 Coze Bot,帮你实现无限输出

做自媒体的同学经常遇到的一个痛点就是无限输出,那怎么才能有源源不断的选题呢?那就是搭建一个选题素材库。

下面就为大家介绍一下基于 Coze Bot 快速搭建素材选题库,希望能让大家才思泉涌。

一、流程拆解

日常素材库积累的过程可以描述为:看到一篇不错的文章,记录标题、大纲、分类和地址。

这些环节正好都是大模型所擅长的。我们把这些环节拆分为不同节点去实现,最后用一个工作流去串联起来就可以了。

实现的效果如下:

图片

二、Bot 搭建

图片

一)Bot 设计

1、创建 Bot

打开 https://www.coze.cn/home,点击创建 Bot 按钮

图片

输入 Bot 名称和介绍后点击确定

图片

2、设定人设

图片

人设与回复逻辑

你是素材收集助手,用户输入一个url,你调用material_add_gzh工作流进行处理,并返回处理的结果,如果用户输入的不是有效的url信息,引导用户输入正确的信息格式。

在页面中间工作流标签点击添加工作流 material_add_gzh,如果还没有创建工作流,点击左侧创建工作流按钮即可开始创建,具体流程详见下一章节。

图片

二)流程设计

1、开始

不需要额外定义变量,仅用默认变量 BOT_USER_INPUT 即可。

图片

2、拼装查询条件

为了避免记录重复添加,我们这里是先根据 URL 查询飞书多维表中记录是否存在,如果存在则直接返回,不存在则执行添加操作。这里 query 的结构定义是基于飞书多维表查询条件结构来的,不能随意修改 query 对象中的属性名称。

图片

本节点是代码节点,Python 代码如下:

async def main(args: Args) -> Output:
    params = args.params
    ret: Output = {
        "query": {
            "conditions": [
            {
                "field_name":"url",
                "operator":"is",
                "value":[
                    params['url']
                ]
             }   
            ],
            "conjunction":"and"
        }
    }
    return ret
3、查询飞书多维表

app_token:输入多维表完整的 url,插件会自动解析处理;

filter:引用上一步拼装的查询条件 query;

图片

4、判断记录是否存在

这是一个选择器节点,实现分支的功能,根据上一步查询返回的记录判断用户输入的 URL 是否已录入。如果条件满足,则执行正常素材添加逻辑,否则执行文档跳过添加提示节点(后续说明)。

图片

图片

5、解析 URL 内容

这一步用的是 coze 插件市场中的 LinkReaderPlugin 插件,该插件可以获取指定 URL 的内容。

url:引用入参 BOT_USER_INPUT

图片

6、判断 URL 解析查询返回值

调测中遇到有的 url 链接解析获得内容为空,对于这种异常情况,跳过处理。

图片

7、文本提炼处理

本节点是大模型节点,借助大模型提炼文章标题、摘要、类别、发布日期、关键词。

提示词如下:

# 任务
根据{{input}},生成对应信息
 
# 输出要求
title:网页标题(如果有原标题,直接使用原标题;若找不到原标题,则根据关键信息,生成一个精确的标题)
summary:仔细阅读整个网页内容,捕捉内容主题、关键信息、阅读价值,生成一段简洁而全面的摘要;并指出适合的读者群体
category:有如下文本类别:AI智能体、AI提示词、Java编程、Python编程、认知思考、其他 共计6个类别,帮我根据输入的内容确定一个类别
link:{{url}}
publishDate:文章发布时间,格式YYYY-MM-DD
siteName:根据{{url}}判断平台名称
keywords:仔细阅读整个网页内容,提炼出与主题相关的3-5个关键词,以,分隔

图片

8、构建飞书字段记录

此处是基于飞书的添加多维表记录的报文结构构建的数组对象。title、category...publishDate 等都是多维表中定义的字段名称,根据需要调整即可。此处需要注意的是如果飞书中定义的字段为日期格式,那么存入的时候需要转换成时间戳,具体转换方法也在下面代码中。

图片

 
import json
from datetime import datetime
from pickle import LONG

async def main(args: Args) -> Output:
    params = args.params
    jsonObj = {
        "title": params['title'],
        "category": params['category'],
        "summary": params['summary'],
        "url": params['url'],
        "content": params['content'],
        "remark": params['remark'],
        "keywords": params['keywords'],
        "siteName": params['siteName'],
        "publishDate": date_to_timestamp(params["publishDate"])
    }

    record = {
        "fields": json.dumps(jsonObj)
    }
    
    jsonArray = []
    jsonArray.append(record)
    ret: Output = {
        "rawRecords": jsonArray,

    }
    return ret

def date_to_timestamp(date_str, date_format='%Y-%m-%d'):
    """
    将日期字符串转换为10位时间戳。

    :param date_str: 日期字符串
    :param date_format: 日期字符串的格式,默认为'%Y-%m-%d'
    :return: 10位时间戳
    """
    try:
        # 将日期字符串转换为datetime对象
        date_obj = datetime.strptime(date_str, date_format)
        # 将datetime对象转换为时间戳
        timestamp = int(date_obj.timestamp() * 1000)
        return timestamp
    except ValueError as e:
        print(f"Error: {e}")
        return None    
9、添加记录到飞书多维表

此处使用的是 coze 中飞书多维表插件的 add_records 函数。

app_token:同前面记录查询节点中的配置,此处填写完整的飞书多维表 url 即可,形如:

https://xzqakftmv0.feishu.cn/base/xxxx?table=tbyyy&view=vewJFRrIho

records:引用前一步构建记录的返回的 rawRecords 变量。

图片

10、判断记录添加是否成功

有些字段格式不正确或者其他原因,可能导致记录添加失败,这里对添加记录节点返回值进行判断,根据成功与否给出用户不同的提示信息。

图片

11、提示信息拼接

为了更好地用户体验,对文本添加成功、失败、跳过、解析错误都采用了字符串处理节点拼接提示消息,大家可以根据需要选择。

图片

图片

图片

图片

12、设置返回信息

由于结束节点输出变量需要具体指定,而实际可能出现不同的处理结果,因此将 11 节点的内容统一的一个变量 returnMsg 中,此处为代码节点:

图片

python 代码如下:


def get_non_empty_string(str1, str2, str3,str4):
    # 检查每个字符串是否为空,返回第一个非空字符串
    if str1:
        return str1
    elif str2:
        return str2
    elif str3:
        return str3
    elif str4:
        return str4        
    else:
        return None  # 如果所有字符串都为空,则返回None

async def main(args: Args) -> Output:
    params = args.params
    message = get_non_empty_string(params['addSucc'], params['addFailed'], params['skipAdd'], params['parseFailed'])
    ret: Output = {
        "returnMsg": f'{message}'
    }
    return ret
13、结束

结束节点直接定义的用设定内容直接回答,回答内容就是 output 的值,output 则设定引用上面的 returnMsg。

图片

三、测试验证

工作流创建完成并发布后,与步骤一中的 Bot 绑定,就可以进行调试,为此进行了几种常见验证,分别是:

不符合 URL 格式、记录已存在、记录不存在。

图片

图片

查看飞书文档,记录也已经正确添加。大家根据自己的需求继续迭代。

我是黑马非马,探索 AI 编程与 AI 智能体,欢迎围观。

### 关于AI智能体Coze的实战教程视频 对于希望深入了解并实践使用Coze平台构建AI智能体的学习者而言,存在多渠道获取相关教学资源的方式。除了文字性的指导文档外,确实也有不少实战教程视频可以助更直观地理解整个流程[^1]。 许多在线教育平台和社交媒体平台上都有针对Coze智能体制作的教学视频。这类视频通常会详细介绍从注册账号到最终部署智能体的所有环节,包括但不限于创建智能体的具体界面操作演示、编写高效提示词的实际案例分析、配置各种技能模块的方法介绍等[^3]。 为了找到最适合个人需求的教程视频,建议访问官方提供的资料库或者社区论坛,在那里往往能找到由开发者团队精心准备的内容;同时也可以关注一些知名的技术博主或UP主,他们经常会分享基于最新版本的功能解读和个人实践经验总结而成的高质量视频教程[^4]。 此外,参与线上线下的技术交流活动也是不错的择之一,通过与其他爱好者的互动可以获得一的信息源链接或是内部培训课程的机会[^5]。 ```python # 示例代码用于展示如何在网络环境中搜索特定主题的相关多媒体资源 import requests def search_tutorial_videos(keyword): url = f"https://api.example.com/search?q={keyword}&type=video" response = requests.get(url) videos = response.json() for video in videos['results']: print(f"Title: {video['title']}, URL: {video['url']}") search_tutorial_videos('Coze AI Agent Tutorial') ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

黑马聊AI

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值