Przeglądaj źródła

Merge branch 'master' of https://git.zyuas.com/LLM/chat-backend

S0025136190 6 miesięcy temu
rodzic
commit
07d2a719f6

+ 19 - 18
takai-ai/src/main/java/com/takai/ai/service/impl/TakaiAiServiceImpl.java

@@ -191,6 +191,9 @@ public class TakaiAiServiceImpl implements ITakaiAiService {
                                 symbolData = symbolData + newData;
                                 //接收到了完整的图片标识
                                 if (newData.indexOf(END_SIGN) > -1) {
+                                    JSONObject json = new JSONObject();
+                                    json.put("id", id);
+                                    json.put("event", "add");
                                     //是图片
                                     if (symbolData.indexOf(SYMBOL) > -1) {
                                         //获取完整Key
@@ -204,29 +207,27 @@ public class TakaiAiServiceImpl implements ITakaiAiService {
                                             }
                                             //匹配markdown图片格式
                                             symbolData = symbolData.replace(key, "![](" + url + ")");
+                                        } else {
+                                            logger.error("图片标识符"+key+"没有获取到对应的URL{}: " + symbolData);
                                         }
-                                    }
-                                    JSONObject json = new JSONObject();
-                                    json.put("id", id);
-                                    json.put("event", "add");
-                                    long count = symbolData.chars().filter(c -> c == '【').count();
-                                    if(count > 1){
+                                        //检查是否当前token包含其他图片的开始符号”【“
                                         int firstPos = symbolData.indexOf(START_SIGN);
-                                        if (firstPos != -1) {
-                                            // 从第一个 '【' 的下一个位置开始查找第二个 '【'
-                                            int secondPos = symbolData.indexOf(START_SIGN, firstPos + 1);
-                                            if (secondPos != -1) {
-                                                // 从第二个 '【' 开始截取
-                                                json.put("data", symbolData.substring(0, secondPos));
-                                                symbolData = symbolData.substring(secondPos);
-                                                logger.info("截取结果{}: " + symbolData);
-                                            }
+                                        if(firstPos > -1){
+                                            // 从'【' 开始截取
+                                            newData = symbolData.substring(0, firstPos);
+                                            symbolData = symbolData.substring(firstPos);
+                                            logger.info("截取结果{}: " + symbolData);
+                                        } else {
+                                            newData = symbolData;
+                                            symbolData = "";
                                         }
-                                    }else{
-                                        json.put("data", symbolData);
+                                    } else {
+                                        newData = symbolData;
                                         symbolData = "";
                                     }
-                                    log.info("deepseek返回信息:" + json);
+                                    json.put("data", newData);
+
+                                    log.info("获取到图片替换结束符号,返回前端信息:" + json);
                                     send(sseEmitter, json);
                                 }
                             } else {