import { Component, OnInit } from '@angular/core'; import {IonHeader, IonToolbar, IonTitle, IonContent, IonButton, IonTextarea,IonInput} from '@ionic/angular/standalone'; /** 引用:从fmode-ng库引用FmodeChatCompletion类 */ import { FmodeChatCompletion,MarkdownPreviewModule } from 'fmode-ng'; @Component({ selector: 'app-page-consult', templateUrl: './page-consult.component.html', styleUrls: ['./page-consult.component.scss'], standalone: true, imports: [IonHeader, IonToolbar, IonTitle, IonContent, IonButton, IonTextarea,IonInput, MarkdownPreviewModule ], }) export class PageConsultComponent implements OnInit { constructor() {} ngOnInit(): void { } // 用户输入提示词 leixing:string = " 心理问题类型:" leixingInput(ev:any){ this.leixing = ev.detail.value; } // 用户输入提示词 userPrompt:string = "请详细描述你的情况:" promptInput(ev:any){ this.userPrompt = ev.detail.value; } // 属性:组件内用于展示消息内容的变量 responseMsg:any = "" // 方法:实例化completion对象,传入消息数组,并订阅生成的可观察对象。 isComplete:boolean = false; // 定义完成状态属性,用来标记是否补全完成 sendMessage(){ console.log("create") let PromptTemplate = ` 您作为一名专业的${this.leixing}智能心理咨询师,请您根据用户描述的情况,给出初步的判断,并给出一些详细的建议。' 以下是用户的口述:${this.userPrompt} ` let completion = new FmodeChatCompletion([ {role:"system",content:""}, {role:"user",content:this.userPrompt} ]) completion.sendCompletion().subscribe((message:any)=>{ // 打印消息体 console.log(message.content) // 赋值消息内容给组件内属性 this.responseMsg = message.content if(message?.complete){ // 判断message为完成状态,则设置isComplete为完成 this.isComplete = true } }) } }