|
@@ -8,32 +8,48 @@ export function TaskPoemPictureDesc(options:{
|
|
|
shareData:any}
|
|
|
):AgentTaskStep{
|
|
|
let task1 = new AgentTaskStep({title:"意境分析",shareData:options.shareData})
|
|
|
- task1.handle = async ()=>{
|
|
|
- // 获取用户输入的诗词
|
|
|
- let userInput = await getUserInput(options.modalCtrl,{fieldsArray:[
|
|
|
- {name:"诗文内容",type:"text",desc:"诗文句子或段落"}
|
|
|
- ]});
|
|
|
- console.log("已获取用户输入:",userInput)
|
|
|
- console.log("已获取诗文内容:",userInput['诗文内容'])
|
|
|
+ task1.handle = ()=>{
|
|
|
+ return new Promise(async (resolve,reject)=>{
|
|
|
+ // 获取用户输入的诗词
|
|
|
+ let userInput = await getUserInput(options.modalCtrl,{fieldsArray:[
|
|
|
+ {name:"诗文内容",type:"text",desc:"诗文句子或段落"}
|
|
|
+ ]});
|
|
|
+ console.log("已获取用户输入:",userInput)
|
|
|
+ if(userInput){
|
|
|
+ console.log("已获取诗文内容:",userInput['诗文内容'])
|
|
|
+ }
|
|
|
+ if(!userInput?.['诗文内容']){
|
|
|
+ task1.error = "缺少诗文内容,请重新开始"
|
|
|
+ resolve(false);
|
|
|
+ }
|
|
|
|
|
|
- // 文本生成
|
|
|
- let PromptTemplate = `您是一名专业的美术画家,请您根据古诗文的内容,将其描述的画面、场景、人物、物品等用最简短的语言表达,直接写出画面,并且以中国的古风意境为主
|
|
|
- 诗文如下:
|
|
|
- ${userInput['诗文内容']}
|
|
|
- `
|
|
|
- let completion = new FmodeChatCompletion([
|
|
|
- {role:"system",content:""},
|
|
|
- {role:"user",content:PromptTemplate}
|
|
|
- ])
|
|
|
- completion.sendCompletion().subscribe((message:any)=>{
|
|
|
- // 打印消息体
|
|
|
- console.log(message.content)
|
|
|
- // 赋值消息内容给组件内属性
|
|
|
- options.shareData.PictureDescResult = message.content
|
|
|
- if(message.complete){ // 判断message为完成状态,则设置isComplete为完成
|
|
|
- task1.progress = 1
|
|
|
- }
|
|
|
+ // 文本生成
|
|
|
+ let PromptTemplate = `您是一名专业的美术画家,请您根据古诗文的内容,将其描述的画面、场景、人物、物品等用最简短的语言表达,直接写出画面,并且以中国的古风意境为主
|
|
|
+ 诗文如下:
|
|
|
+ ${userInput['诗文内容']}
|
|
|
+ `
|
|
|
+ let completion = new FmodeChatCompletion([
|
|
|
+ {role:"system",content:""},
|
|
|
+ {role:"user",content:PromptTemplate}
|
|
|
+ ])
|
|
|
+ completion.sendCompletion().subscribe((message:any)=>{
|
|
|
+ if(task1.progress < 0.5){
|
|
|
+ task1.progress += 0.1
|
|
|
+ }
|
|
|
+ if(task1.progress >= 0.5){
|
|
|
+ task1.progress += 0.01
|
|
|
+ }
|
|
|
+ // 打印消息体
|
|
|
+ // console.log(message.content)
|
|
|
+ // 赋值消息内容给组件内属性
|
|
|
+ options.shareData.PictureDescResult = message.content
|
|
|
+ if(message.complete){ // 判断message为完成状态,则设置isComplete为完成
|
|
|
+ task1.progress = 1
|
|
|
+ resolve(true)
|
|
|
+ }
|
|
|
+ })
|
|
|
})
|
|
|
+
|
|
|
}
|
|
|
return task1
|
|
|
}
|