123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- 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
- }
- })
- }
- }
|