miaofuhao vor 10 Monaten
Ursprung
Commit
83deacfb8d

+ 65 - 18
src/components/main/Navbar/cpns/aiDialog/aiDialog.vue

@@ -165,12 +165,12 @@
165 165
         <!-- 回话底部按钮 -->
166 166
         <div class="sc-ai-dialog">
167 167
             <div class="bottomItem">
168
-                <div class="ai_bttton_wrap">
168
+                <!-- <div class="ai_bttton_wrap">
169 169
                     <button class="primary" @click="dialogHandle('提示指令')">
170 170
                         <img class="btn_icon" :src="base64data.aiBG4">
171 171
                         <span style="padding-left: 15px;">提示指令</span>
172 172
                     </button>
173
-                </div>
173
+                </div> -->
174 174
                 <div class="ai_bttton_wrap">
175 175
                     <button class="default" @click="dialogHandle('新建会话')">
176 176
                         <img class="btn_icon" :src="base64data.aiBG5">
@@ -366,7 +366,7 @@
366 366
         chatData.value.push(obj)
367 367
         axios({
368 368
             method: 'post',
369
-            url: 'http://192.168.1.40:7861/db_base/search_db',
369
+            url: 'http://192.168.1.89:7861/db_base/search_db',
370 370
             headers: {
371 371
                 "Content-Type": 'application/json'
372 372
             },
@@ -385,7 +385,7 @@
385 385
         
386 386
         })
387 387
 
388
-        // axios.post('http://192.168.1.40:7861/db_base/search_db', {postChatText.value},
388
+        // axios.post('http://192.168.1.89:7861/db_base/search_db', {postChatText.value},
389 389
         //     {
390 390
         //         headers: {
391 391
         //         'Content-Type':'application/json;charset=utf-8',
@@ -401,18 +401,40 @@
401 401
     }
402 402
 
403 403
     async function getSearchDocs() {
404
-        const params = {
404
+        let params = {
405 405
             query: postChatText.value,
406
-            mode: "local_kb",
407
-            kb_name: "mszsk",
408
-            top_k: 1,
409
-            score_threshold: 0.5,
410
-            stream: true,
411
-            model: "glm-4",
412
-            temperature: 0.7,
413
-            max_tokens: 0,
414
-            prompt_name: "default",
415
-            return_direct: false
406
+            // mode: "local_kb",
407
+            // kb_name: "mszsk",
408
+            // top_k: 1,
409
+            // score_threshold: 0.5,
410
+            // stream: true,
411
+            // model: "glm-4",
412
+            // temperature: 0.7,
413
+            // max_tokens: 0,
414
+            // prompt_name: "default",
415
+            // return_direct: false
416
+
417
+            query: `你是一位专业的心理咨询师,擅长帮助来访者探索情绪、压力、人际关系等问题。请根据以下用户输入,提供专业、温暖且有针对性的心理咨询建议。如果用户的问题涉及具体心理困扰,请尝试引导用户深入思考,并提供适当的应对策略或情绪调节方法。
418
+
419
+用户输入:${postChatText.value}
420
+
421
+请根据以下步骤进行回复:
422
+1. **共情与理解**:首先对用户的情绪或困扰表示理解,建立信任感。
423
+2. **问题分析**:分析用户问题的可能根源或核心矛盾。
424
+3. **建议与引导**:提供具体的建议或引导用户思考解决方案。
425
+4. **总结与支持**:总结关键点,并鼓励用户尝试行动或进一步探索。
426
+
427
+注意:保持语气温和、专业,避免使用过于绝对的判断或建议,内容尽量言简意赅。`,
428
+				mode: "local_kb",
429
+				kb_name: "mszsk",
430
+				top_k: 1,
431
+				score_threshold: 0.5,
432
+				stream: true,
433
+				model: "glm-4",
434
+				temperature: 0.7,
435
+				max_tokens: 0,
436
+				prompt_name: "default",
437
+				return_direct: false
416 438
         }
417 439
         const obj = {
418 440
             direction:2,
@@ -424,13 +446,38 @@
424 446
             roll();
425 447
         }, 200);
426 448
         try {
449
+            params = {
450
+                model: 'glm-4-air',
451
+				messages: [{
452
+					role: 'system',
453
+					content: `你是一位专业的心理咨询师,擅长帮助来访者探索情绪、压力、人际关系等问题。请根据以下用户输入,提供专业、温暖且有针对性的心理咨询建议。如果用户的问题涉及具体心理困扰,请尝试引导用户深入思考,并提供适当的应对策略或情绪调节方法。
454
+
455
+用户输入:{用户输入信息}
456
+
457
+请根据以下步骤进行回复:
458
+1. **共情与理解**:首先对用户的情绪或困扰表示理解,建立信任感。
459
+2. **问题分析**:分析用户问题的可能根源或核心矛盾。
460
+3. **建议与引导**:提供具体的建议或引导用户思考解决方案。
461
+4. **总结与支持**:总结关键点,并鼓励用户尝试行动或进一步探索。
462
+
463
+注意:保持语气温和、专业,避免使用过于绝对的判断或建议,内容尽量言简意赅。`
464
+				}, {
465
+					role: 'user',
466
+					content: postChatText.value,
467
+				}],
468
+				stop: ['stop'],
469
+				stream: true,
470
+            }
427 471
             // 发送请求
428
-            let response = await fetch("http://192.168.1.40:7861/chat/kb_chat",
472
+            // fetchEventSource('https://open.bigmodel.cn/api/paas/v4/chat/completions', {
473
+                let response = await fetch("https://open.bigmodel.cn/api/paas/v4/chat/completions",
474
+            // let response = await fetch("http://192.168.1.89:7861/chat/kb_chat",
429 475
                 {
430 476
                     method: "post",
431 477
                     responseType: "stream",
432 478
                     headers: {
433 479
                         "Content-Type": "application/json",
480
+                        "Authorization": 'Bearer 1711c0bfa059f253fce0921015a44fc8.VZVQz66PrwJ2NqLP',
434 481
                     },
435 482
                     body: JSON.stringify(params),
436 483
                 }
@@ -533,8 +580,8 @@
533 580
         },
534 581
         
535 582
         {
536
-            title:'客户查询',
537
-            content:'帮我查询客户数据,手机号为:'
583
+            title:'患者查询',
584
+            content:'帮我查询患者数据,手机号为:'
538 585
         },
539 586
         
540 587
         {

+ 3 - 3
src/components/main/Navbar/index.vue

@@ -12,9 +12,9 @@
12 12
         <!-- 签入界面 -->
13 13
         <telephone-login></telephone-login>
14 14
 
15
-        <!-- <div class="aiBtn" @click="dialogVisible = true">
15
+        <div class="aiBtn" @click="dialogVisible = true">
16 16
           <el-image :src="aiIcon" :fit="fit" ></el-image>
17
-        </div> -->
17
+        </div>
18 18
 
19 19
         <!-- 右上角消息按钮 -->
20 20
         <el-popover placement="bottom" :width="300" trigger="click">
@@ -102,7 +102,7 @@
102 102
       :close-on-click-modal="false"
103 103
       :close-on-press-escape="false"
104 104
       :modal="false" 
105
-      width="30%" 
105
+      width="400" 
106 106
       :style="{ 'background': 'url(' + base64data.aiBG + ') center center / 100% 100% no-repeat' }"
107 107
       draggable>
108 108
         <ai-dialog></ai-dialog>