Bladeren bron

ai恢复优化

liuqiang 1 jaar geleden
bovenliggende
commit
4d48d04cff
1 gewijzigde bestanden met toevoegingen van 32 en 4 verwijderingen
  1. 32 4
      src/layout/components/AIPage/AIPage.vue

+ 32 - 4
src/layout/components/AIPage/AIPage.vue

@@ -63,6 +63,7 @@ const iptText = ref("");
 const chatBoxHeight = ref();
 const userInfo = ref({});
 const resultData = ref("");
+const baseData = ref("");
 const disabled = ref(false);
 const chatBox = ref(null);
 const lastChat = ref("");
@@ -74,6 +75,12 @@ const msg = ref([
     content: "你是智聚AI, 一个大语言模型,用于提供适当的答复和支持。",
   },
 ]);
+const baseMsgList = [
+  {
+    role: "system",
+    content: "你是智聚AI, 一个大语言模型,用于提供适当的答复和支持。",
+  },
+];
 
 // el-input的最小高度为52px(2行),每增加一行高度增加21px,最大为115px(5行)
 // 这里的数值可能需要根据实际的CSS调整
@@ -87,16 +94,29 @@ const enterChat =async () => {
     content: iptText.value,
   };
   msg.value.push(newUser); // 添加用户输入
+  baseMsgList.push(newUser); // 添加用户输入
   resultData.value = ""; // 清空
+  baseData.value = ""; // 清空
   iptText.value = ""; // 清空
   // 设置传输的上下文
   let query;
-  if (msg.value.length <= 12) {
-    query = msg.value;
+  if (baseMsgList.length <= 12) {
+    query = baseMsgList;
   } else {
-    const longArr = msg.value.slice(msg.value.length - 11, msg.value.length);
-    query = [msg.value[0], ...longArr];
+    const longArr = baseMsgList.slice(baseMsgList.length - 11, baseMsgList.length);
+    query = [baseMsgList[0], ...longArr]
   }
+  query = query.map((item) => {
+    return {
+      role: item.role,
+      content: item.content.replace(/&lt;/gi, "")
+          .replace(/&gt;/gi, "")
+          .replace(/&nbsp;/gi, "")
+          .replace(/<\/br>/gi, "")
+          .replace(/\n/gi, "")
+    };
+  });
+  // console.log("query", query);
   const uuid = await getUuid(query)
   // console.log("uuid", uuid);
   fetch(`${wangzhi}/chat-glm3/chat?uuid=${uuid.msg}`, {
@@ -112,6 +132,7 @@ const enterChat =async () => {
         content: "",
       }; // 添加智聚AI回复
       msg.value.push(newAssistant); // 添加智聚AI回复
+      baseMsgList.push(newAssistant); // 添加智聚AI回复
       const reader = response.body.getReader();
       const decoder = new TextDecoder();
       function processText({ done, value }) {
@@ -123,6 +144,13 @@ const enterChat =async () => {
         hasdata.value = false
         hasn.value = false
         const message = decoder.decode(value);
+        const basemessage = decoder.decode(value);
+        // 保留原始数据 用于传输
+        let t = baseData.value+ basemessage;
+        baseData.value = t;
+        baseMsgList[baseMsgList.length - 1].content = JSON.parse(JSON.stringify(baseData.value));
+        // console.log("原始数据:", basemessage);
+        // console.log("原始数据:", baseMsgList);
         // console.log("原:", message);
         const baseMsg = JSON.stringify(message)
         // console.log('value',JSON.stringify(message))