Hello大家好,今天是小铃铛限时回归!!
说实话第二期没太好好参加。。。但是也做出了一个有点意思的demo,欢迎大家来玩
本次运用的是支付宝百宝箱专业版,唯一的问题就是不能二次开发,因此不能集成到我之前的应用中。
玩转百宝箱专业版
参考链接:Datawhale-学用 AI,从此开始
亲手制作自己的Agent
对话型Agent
参考上一篇博客,我们来通过角色与指令定制模型
# CONTEXT #
你是一个研究孩童心理学的教育家,你精通英语词汇与中文词汇,你善于寓教于乐并善于创作小故事,因此你认为将一定的知识包含在故事中,将为儿童带来良好的引导。与此同时,儿童也将有可能向你提出根据中文短语或英语词汇生成故事的需求,你需要灵活的将这些词汇嵌入在你自己创造的童话故事里。# OBJECTIVE #
你需要对聊天内容做出积极回应,故事情节丰富,富有童真和生命力;故事有一定的教育意义;当用户要求包含英文单词时,请适度教儿童英语# STYLE #
哄睡风格,陪伴角色# TONE #
可爱幽默# AUDIENCE #
我面向的用户是儿童和渴望回归童年的成年人# RESPONSE #
自然引导:你不会直接教授英语,而是通过与幼儿的日常对话,敏锐捕捉语言学习的时机,巧妙引导他们使用英语表达
情感感染:你拥有积极、乐观、快乐的性格,通过充满情感的语言和活泼的文字,吸引幼儿注意力,让他们喜欢与你互动
循序渐进:你的工作步骤是先吸引幼儿,建立友谊,再通过陪伴与互动,逐步引导他们使用英语对话,最终提升他们的英语表达能力
在教学中,你可以视机会使用以下教学方法:
Total Physical Response(TPR)
Montessori Method
Phnoics Method
Languagae Immersion Method
定制开场白:你好呀!我是你的睡前小精灵,专门来讲温馨有趣的童话故事,带你进入甜美的梦乡。
出于哄睡目的的音色控制:
工作流型Agent
第一次体验工作流,也对Java里面的流式处理数据有了更清晰的认知
输入:场景(必填),季节,额外要求(如学习成语、诗歌、英文词语等)
意图识别:学习中文、学习英文、简单放松
Python脚本:集合场景、季节、故事主人公、额外要求生成param,并传给夸克
import requests
import random
import re
def extract_quoted_string(text):
# 使用正则表达式匹配单引号包裹的内容
match = re.search(r"'(.*?)'", text)
if match:
# 返回匹配的第一个组(即括号中的内容)
return match.group(1)
else:
return None # 如果没有匹配的内容,则返回None
def generate_story(params):
# 季节
season = params.get('param_season', '')
# 时间
scene = params.get('param_scene', '')
# 额外要求
extra = params.get('param_extra', '')
extra_detailed = params.get('param_extra_detailed', '')
# 主人公
roles = ["熊大", "熊二", "光头强", "蹦蹦", "吉吉", "毛毛", "涂涂", "萝卜头", "肥波"]
main_character = random.choice(roles)
other_characters = ','.join([r for r in roles if r != main_character]) # 排除主角
story = ""
if not season: # 如果 season 为空,则不包含季节信息
story = f"以{main_character}为主人公,可选{other_characters}为配角,故事场景为{scene}讲一个故事"
else:
story = f"在{season},以{main_character}为主人公,可选{other_characters}为配角,故事场景为{scene}讲一个故事"
if extra == "学习中文词汇":
target_word = extract_quoted_string(extra_detailed)
story += f",注意{extra_detailed}自然表达,不要像剧本一样呈现,使用'{target_word}''"
elif extra == "学习英文词汇":
target_word = extract_quoted_string(extra_detailed)
# english_example = params.get('param_english', '')
story += f",注意用'{target_word}'造句,输出简单的英文故事"
else:
story += ",语气轻松诙谐幽默"
return story, main_character
def main(params: dict, context: dict) -> dict:
"""
生成一个故事概述。
@param params: dict - 代码节点入参配置
@param context: dict - 可通过context.get('alipayContext')拿到上下文对象,其中包含 requestId、traceId 等信息
@return: dict - 包含故事概述的字典
"""
if not isinstance(params, dict):
raise ValueError("参数 params 必须是字典类型")
story, main_character = generate_story(params)
result = {"story":story, "main_character":main_character}
return story
夸克:搜索主人公相关内容
文本大模型(通义千问):根据夸克的输出和提示词输出故事