Parcourir la source

feat: chat role prompt setting

ryanemax il y a 5 jours
Parent
commit
1eaa18a17a

+ 57 - 8
src/app/tab2/tab2.page.ts

@@ -4,7 +4,7 @@ import { IonHeader, IonToolbar, IonTitle, IonContent, ModalController, IonButton
 import { ExploreContainerComponent } from '../explore-container/explore-container.component';
 import { ChatPanelOptions, FmChatModalInput, FmodeChat, FmodeChatMessage, openChatPanelModal } from 'fmode-ng';
 // import { ModalAudioMessageComponent } from 'fmode-ng/lib/aigc/chat/chat-modal-input/modal-audio-message/modal-audio-message.component';
-
+import Parse from "parse";
 import { 
   IonCard,
   IonCardHeader,
@@ -54,13 +54,19 @@ export class Tab2Page {
       roleId:"2DXJkRsjXK",
       onChatInit:(chat:FmodeChat)=>{
         console.log("onChatInit");
-              console.log("预设角色",chat.role);
-              chat.role.set("name","晓晓");
-              chat.role.set("title","全科医生");
-              chat.role.set("desc","一名亲切和蔼的门诊全科主任医生,晓晓,年龄36岁");
-              chat.role.set("tags",["全科","门诊"]);
-              chat.role.set("avatar","https://nova-cloud.obs.cn-south-1.myhuaweicloud.com/storage/aigc/imagine/Q4Zif7fTbK-0.png")
-              chat.role.set("prompt",`
+        console.log("预设角色",chat.role);
+        // 角色名称
+        chat.role.set("name","晓晓");
+        // 角色称号
+        chat.role.set("title","全科医生");
+        // 角色描述
+        chat.role.set("desc","一名亲切和蔼的门诊全科主任医生,晓晓,年龄36岁");
+        // 角色标签
+        chat.role.set("tags",["全科","门诊"]);
+        // 角色头像
+        chat.role.set("avatar","https://nova-cloud.obs.cn-south-1.myhuaweicloud.com/storage/aigc/imagine/Q4Zif7fTbK-0.png")
+        // 角色提示词
+        chat.role.set("prompt",`
 # 角色设定
 您是一名亲切和蔼的专业的全科医生,晓晓,年龄36岁,需要完成一次完整的门诊服务。
 
@@ -81,6 +87,49 @@ export class Tab2Page {
 
 # 开始话语
 当您准备好了,可以以一个医生的身份,向来访的用户打招呼。`);
+        // 对话灵感分类
+        let promptCates = [
+          {
+            "img": "https://file-cloud.fmode.cn/UP2cStyjuk/20231211/r1ltv1023812146.png",
+            "name": "外科"
+          },
+          {
+            "img": "https://file-cloud.fmode.cn/UP2cStyjuk/20231211/fo81fg034154259.png",
+            "name": "内科"
+          },
+          {
+            "img": "https://file-cloud.fmode.cn/UP2cStyjuk/20231211/fc1nqi034201098.png",
+            "name": "心理"
+          }
+        ]
+        setTimeout(() => {
+          chat.role.set("promptCates",promptCates)
+        }, 500);
+        // 对话灵感列表
+        let promptList = [
+          {
+            cate:"外科",img:"https://file-cloud.fmode.cn/UP2cStyjuk/20231211/r1ltv1023812146.png",
+            messageList:["局部疼痛或肿胀","伤口出血或感染","关节活动受限","体表肿块或结节","外伤后活动障碍","皮肤溃疡不愈合","异物刺入或嵌顿","术后并发症复查","肢体麻木或无力","运动损伤疼痛"]
+          },
+          {
+            cate:"内科",img:"https://file-cloud.fmode.cn/UP2cStyjuk/20231211/fo81fg034154259.png",
+            messageList:["反复发热或低热","持续咳嗽咳痰","胸闷气短心悸","慢性腹痛腹泻","头晕头痛乏力","体重骤增或骤减","食欲异常或消化不良","尿频尿急尿痛","睡眠障碍易醒","异常出汗或怕冷"]
+          },
+          {
+            cate:"心理",img:"https://file-cloud.fmode.cn/UP2cStyjuk/20231211/fc1nqi034201098.png",
+            messageList:["持续情绪低落","焦虑紧张不安","失眠或睡眠过多","注意力难以集中","社交恐惧回避","强迫思维或行为","记忆减退疑虑","躯体无器质性疼痛","自杀倾向念头","现实感丧失体验"]
+          },
+        ]
+        let ChatPrompt = Parse.Object.extend("ChatPrompt");
+        setTimeout(() => {
+          chat.promptList = promptList.map(item=>{
+            let prompt = new ChatPrompt();
+            prompt.set(item);
+            prompt.img = item.img;
+            return prompt;
+          })
+        }, 500);
+
       },
       onMessage:(chat:FmodeChat,message:FmodeChatMessage)=>{
         console.log("onMessage",message)

+ 28 - 26
src/modules/flow/page-flow-test/page-flow-test.component.html

@@ -1,32 +1,7 @@
 <ion-content class="ion-padding">
-    <!-- 工作流分组1:医疗相关 -->
-    <ion-card class="workflow-group">
-        <ion-card-header>
-            <ion-card-title>应用工作流</ion-card-title>
-            <ion-card-subtitle>各个场景示例</ion-card-subtitle>
-        </ion-card-header>
-
-        <ion-card-content>
-            <ion-grid>
-                <ion-row>
-                    <ion-col size="12" size-md="6">
-                        <ion-card class="workflow-card" button (click)="farmWorkflow()">
-                            <ion-icon name="medkit" color="primary" class="workflow-icon"></ion-icon>
-                            <ion-card-header>
-                                <ion-card-title>农业咨询</ion-card-title>
-                            </ion-card-header>
-                            <ion-card-content>
-                                辅助乡村振兴
-                            </ion-card-content>
-                        </ion-card>
-                    </ion-col>
-                </ion-row>
-            </ion-grid>
-        </ion-card-content>
-    </ion-card>
 
 
-    <!-- 工作流分组1:医疗相关 -->
+    <!-- 工作流分组:医疗相关 -->
     <ion-card class="workflow-group">
         <ion-card-header>
             <ion-card-title>医疗工作流</ion-card-title>
@@ -75,6 +50,33 @@
         </ion-card-content>
     </ion-card>
 
+        <!-- 工作流分组:其他行业 -->
+        <ion-card class="workflow-group">
+            <ion-card-header>
+                <ion-card-title>应用工作流</ion-card-title>
+                <ion-card-subtitle>各个场景示例</ion-card-subtitle>
+            </ion-card-header>
+    
+            <ion-card-content>
+                <ion-grid>
+                    <ion-row>
+                        <ion-col size="12" size-md="6">
+                            <ion-card class="workflow-card" button (click)="farmWorkflow()">
+                                <ion-icon name="medkit" color="primary" class="workflow-icon"></ion-icon>
+                                <ion-card-header>
+                                    <ion-card-title>农业咨询</ion-card-title>
+                                </ion-card-header>
+                                <ion-card-content>
+                                    辅助乡村振兴
+                                </ion-card-content>
+                            </ion-card>
+                        </ion-col>
+                    </ion-row>
+                </ion-grid>
+            </ion-card-content>
+        </ion-card>
+    
+
     <!-- 工作流分组2:人事相关 -->
     <ion-card class="workflow-group">
         <ion-card-header>