From 51a81a734665327a5d6e23cccd40da11d3241f4a Mon Sep 17 00:00:00 2001 From: wangxiangshun Date: Mon, 20 Oct 2025 13:19:59 +0800 Subject: [PATCH] =?UTF-8?q?STT=20=E6=95=B0=E6=8D=AE=E6=B5=81=E5=A4=84?= =?UTF-8?q?=E7=90=86-=E8=AF=95=E4=B8=80=E4=B8=8B=E5=90=88=E5=B9=B6?= =?UTF-8?q?=E5=90=8E=E7=9A=84=E6=A0=BC=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../vetti/common/ai/gpt/OpenAiStreamClient.java | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/vetti-common/src/main/java/com/vetti/common/ai/gpt/OpenAiStreamClient.java b/vetti-common/src/main/java/com/vetti/common/ai/gpt/OpenAiStreamClient.java index 4d4d4cd..3d18f80 100644 --- a/vetti-common/src/main/java/com/vetti/common/ai/gpt/OpenAiStreamClient.java +++ b/vetti-common/src/main/java/com/vetti/common/ai/gpt/OpenAiStreamClient.java @@ -100,6 +100,7 @@ public class OpenAiStreamClient { // 检查是否为结束标记 if (data.equals("[DONE]")) { listener.onMessage(bufferStr.toString()); + bufferStr.replace(0, bufferStr.length(), ""); listener.onComplete(); break; } @@ -113,19 +114,12 @@ public class OpenAiStreamClient { .getStr("content"); if (content != null && !content.isEmpty()) { - if(punctuationStr.contains(content)){ + //加入缓冲区 + bufferStr.append(content); + if(punctuationStr.contains(content.trim())){ //说明有标点啦,直接返回 - bufferStr.append(content); listener.onMessage(bufferStr.toString()); bufferStr.replace(0, bufferStr.length(), ""); -// bufferStr = new StringBuffer(); - }else{ - //加入缓冲区 - if(StrUtil.isEmpty(bufferStr.toString())){ - bufferStr.append(content); - }else { - bufferStr.append(" ").append(content); - } } } // listener.onMessage(content);