Update app.py
Browse files
app.py
CHANGED
@@ -122,7 +122,7 @@ def messages():
|
|
122 |
|
123 |
msg_id = str(uuid.uuid4())
|
124 |
response_event = Event()
|
125 |
-
response_text = []
|
126 |
|
127 |
if not stream:
|
128 |
# 处理 stream 为 false 的情况
|
@@ -220,16 +220,20 @@ def messages():
|
|
220 |
if sio.connected:
|
221 |
sio.disconnect()
|
222 |
|
|
|
223 |
output_text = ''.join(response_text)
|
224 |
# 动态计算 output_tokens
|
225 |
output_tokens = calculate_tokens(output_text)
|
226 |
|
|
|
227 |
yield create_event("content_block_stop", {"type": "content_block_stop", "index": 0})
|
|
|
228 |
yield create_event("message_delta", {
|
229 |
"type": "message_delta",
|
230 |
"delta": {"stop_reason": "end_turn", "stop_sequence": None},
|
231 |
"usage": {"output_tokens": output_tokens}, # 动态 output_tokens
|
232 |
})
|
|
|
233 |
yield create_event("message_stop", {"type": "message_stop"}) # 确保发送 message_stop 事件
|
234 |
|
235 |
return Response(generate(), content_type='text/event-stream')
|
@@ -296,6 +300,7 @@ def handle_non_stream(previous_messages, msg_id, model, input_tokens):
|
|
296 |
# 等待响应完成
|
297 |
response_event.wait(timeout=30)
|
298 |
|
|
|
299 |
output_text = ''.join(response_text)
|
300 |
# 动态计算 output_tokens
|
301 |
output_tokens = calculate_tokens(output_text)
|
|
|
122 |
|
123 |
msg_id = str(uuid.uuid4())
|
124 |
response_event = Event()
|
125 |
+
response_text = [] # 用于存储输出的文本块
|
126 |
|
127 |
if not stream:
|
128 |
# 处理 stream 为 false 的情况
|
|
|
220 |
if sio.connected:
|
221 |
sio.disconnect()
|
222 |
|
223 |
+
# 合并所有的输出块
|
224 |
output_text = ''.join(response_text)
|
225 |
# 动态计算 output_tokens
|
226 |
output_tokens = calculate_tokens(output_text)
|
227 |
|
228 |
+
# 生成 content_block_stop 事件
|
229 |
yield create_event("content_block_stop", {"type": "content_block_stop", "index": 0})
|
230 |
+
# 生成 message_delta 事件,包含 output_tokens
|
231 |
yield create_event("message_delta", {
|
232 |
"type": "message_delta",
|
233 |
"delta": {"stop_reason": "end_turn", "stop_sequence": None},
|
234 |
"usage": {"output_tokens": output_tokens}, # 动态 output_tokens
|
235 |
})
|
236 |
+
# 生成 message_stop 事件
|
237 |
yield create_event("message_stop", {"type": "message_stop"}) # 确保发送 message_stop 事件
|
238 |
|
239 |
return Response(generate(), content_type='text/event-stream')
|
|
|
300 |
# 等待响应完成
|
301 |
response_event.wait(timeout=30)
|
302 |
|
303 |
+
# 合并所有的输出块
|
304 |
output_text = ''.join(response_text)
|
305 |
# 动态计算 output_tokens
|
306 |
output_tokens = calculate_tokens(output_text)
|