|
@@ -10,6 +10,7 @@ export function TaskGenerateUserValiate(options: {
|
|
): AgentTaskStep {
|
|
): AgentTaskStep {
|
|
let task1 = new AgentTaskStep({ title: "检测输入合法性", shareData: options.shareData.userProfile })
|
|
let task1 = new AgentTaskStep({ title: "检测输入合法性", shareData: options.shareData.userProfile })
|
|
task1.handle = () => {
|
|
task1.handle = () => {
|
|
|
|
+ console.log("任务1:检测输入合法性(userValiate)执行中...");
|
|
return new Promise(async (resolve, reject) => {
|
|
return new Promise(async (resolve, reject) => {
|
|
//获取当前任务集共享数据:userProfile
|
|
//获取当前任务集共享数据:userProfile
|
|
let userProfile = options.shareData.userProfile
|
|
let userProfile = options.shareData.userProfile
|
|
@@ -22,25 +23,11 @@ export function TaskGenerateUserValiate(options: {
|
|
//若必填项已填写,任务继续
|
|
//若必填项已填写,任务继续
|
|
//穿搭提示词生成
|
|
//穿搭提示词生成
|
|
const userProfileJson=JSON.stringify(options.shareData.userProfile,null,);
|
|
const userProfileJson=JSON.stringify(options.shareData.userProfile,null,);
|
|
- console.log(userProfileJson)
|
|
|
|
- let PromptTemplate = `您是一名专业的服装搭配师,根据客户的身高、体重等数据,为客户推荐适合TA的穿搭方案。
|
|
|
|
- 客户的要求如下:${userProfileJson}
|
|
|
|
- 结果以JSON格式表示:(以下是JSON格式的参考方案)
|
|
|
|
- {
|
|
|
|
- "schemeName":"方案名(例如:夏日小清新)",
|
|
|
|
- "gender":"性别",
|
|
|
|
- "age":"年龄",
|
|
|
|
- ......
|
|
|
|
- (传入的json中有什么属性就补上什么)
|
|
|
|
- "schemeList":{
|
|
|
|
- "上衣":["name":"上衣特征描述(简洁,例如:轻薄短袖衬衫)","desc":"穿搭思路描述(具体,例如:选择一款轻薄透气的短袖衬衫,颜色可以是浅蓝色或淡灰色,搭配细条纹或小格纹图案,以增加层次感。衬衫的剪裁要稍微宽松,以便于活动,适合办公室环境。)"],
|
|
|
|
- "下装":["name":"下装特征描述","desc":"穿搭思路描述"],
|
|
|
|
- ......
|
|
|
|
- (身上所有的衣服从里到外全部写出来加入schemeList中,例如冬季穿衣较多,从里到外有内衬衣、毛衣、夹克、棉袄、外套等。若部分有就将其部分写出来
|
|
|
|
- 还有不要写笼统的“上衣”“下装”“配饰”等词条,要写例如“裤子”“棉毛衫”“项链”“围巾”等具体的服装类型的词条)
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- `
|
|
|
|
|
|
+ console.log("接受输入:"+userProfileJson);
|
|
|
|
+ let PromptTemplate = `您是一名专业的语境分析师,现传入数据如下:${userProfileJson}。
|
|
|
|
+ 分析其中的customDesc字段,如果与个性化服装搭配的主题无关,则只需要给我返回[无关],若有关,则返回[有关]。
|
|
|
|
+ 当检测customDesc为空,即没有输入时,仍返回[有关]。`
|
|
|
|
+
|
|
let completion = new FmodeChatCompletion([
|
|
let completion = new FmodeChatCompletion([
|
|
{ role: "system", content: "" },
|
|
{ role: "system", content: "" },
|
|
{ role: "user", content: PromptTemplate }
|
|
{ role: "user", content: PromptTemplate }
|
|
@@ -59,7 +46,13 @@ export function TaskGenerateUserValiate(options: {
|
|
console.log(message.content)
|
|
console.log(message.content)
|
|
// 赋值消息内容给任务集共享数据
|
|
// 赋值消息内容给任务集共享数据
|
|
if (message.complete) {
|
|
if (message.complete) {
|
|
- options.shareData = extactAndParseJsonFromString(message.content)
|
|
|
|
|
|
+ if (message.content == "[无关]") {
|
|
|
|
+ task1.progress = 1
|
|
|
|
+ task1.error = "请勿输入与穿搭主题无关的内容!"
|
|
|
|
+ resolve(false);
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ options.shareData.userProfileJson = userProfileJson
|
|
task1.progress = 1
|
|
task1.progress = 1
|
|
console.log(options.shareData)
|
|
console.log(options.shareData)
|
|
resolve(true);
|
|
resolve(true);
|