update
Browse files
app.py
CHANGED
@@ -59,10 +59,6 @@ def respond(
|
|
59 |
with requests.post(API_URL, headers=headers, json=data, stream=True) as r:
|
60 |
if r.status_code == 200:
|
61 |
current_response = ""
|
62 |
-
buffer = "" # 用于累积可能被分割的标记
|
63 |
-
in_think_block = False
|
64 |
-
found_final_answer = False
|
65 |
-
|
66 |
for line in r.iter_lines():
|
67 |
if line:
|
68 |
line = line.decode('utf-8')
|
@@ -74,28 +70,12 @@ def respond(
|
|
74 |
if 'content' in delta:
|
75 |
content = delta['content']
|
76 |
if content:
|
77 |
-
#
|
78 |
-
|
79 |
-
|
80 |
-
|
81 |
-
|
82 |
-
|
83 |
-
buffer = buffer.split('<think>')[-1]
|
84 |
-
|
85 |
-
if in_think_block and '</think>' in buffer:
|
86 |
-
in_think_block = False
|
87 |
-
buffer = buffer.split('</think>')[-1]
|
88 |
-
|
89 |
-
if not found_final_answer and '**Final Answer**' in buffer:
|
90 |
-
found_final_answer = True
|
91 |
-
buffer = buffer.split('**Final Answer**')[-1]
|
92 |
-
|
93 |
-
# 如果不在think块内,就累积内容
|
94 |
-
if not in_think_block:
|
95 |
-
current_response += buffer
|
96 |
-
yield current_response
|
97 |
-
buffer = "" # 清空缓冲区
|
98 |
-
|
99 |
except json.JSONDecodeError:
|
100 |
continue
|
101 |
print(f"[INFO] final response: {current_response}")
|
|
|
59 |
with requests.post(API_URL, headers=headers, json=data, stream=True) as r:
|
60 |
if r.status_code == 200:
|
61 |
current_response = ""
|
|
|
|
|
|
|
|
|
62 |
for line in r.iter_lines():
|
63 |
if line:
|
64 |
line = line.decode('utf-8')
|
|
|
70 |
if 'content' in delta:
|
71 |
content = delta['content']
|
72 |
if content:
|
73 |
+
# 转义特殊标记
|
74 |
+
content = content.replace('<', '<').replace('>', '>')
|
75 |
+
content = content.replace('*', '\\*')
|
76 |
+
current_response += content
|
77 |
+
print(f"[INFO] current_response: {current_response}")
|
78 |
+
yield current_response
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
79 |
except json.JSONDecodeError:
|
80 |
continue
|
81 |
print(f"[INFO] final response: {current_response}")
|