pycoze 0.1.403__py3-none-any.whl → 0.1.405__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
pycoze/bot/chat_base.py CHANGED
@@ -128,6 +128,7 @@ async def stream_openai_response(conversation_history, start_new_stream):
128
128
  if json_start_match:
129
129
  # 提取 JSON 代码块之前的文本
130
130
  text_content += buffer[:json_start_match.start()]
131
+ # 如果 text_content 不为空,先 yield 文本
131
132
  if text_content.strip():
132
133
  yield ("text", text_content.strip())
133
134
  text_content = ""
@@ -135,7 +136,7 @@ async def stream_openai_response(conversation_history, start_new_stream):
135
136
  in_json_block = True
136
137
  buffer = buffer[json_start_match.end():]
137
138
  else:
138
- # 如果没有找到 JSON 代码块,直接处理为普通文本
139
+ # 如果没有找到 JSON 代码块,直接累积到 text_content
139
140
  text_content += buffer
140
141
  buffer = ""
141
142
  else:
@@ -144,6 +145,7 @@ async def stream_openai_response(conversation_history, start_new_stream):
144
145
  if json_end_match:
145
146
  # 提取 JSON 代码块内容
146
147
  json_block_content += buffer[:json_end_match.start()]
148
+ # yield JSON 代码块
147
149
  yield ("json", json_block_content.strip())
148
150
  json_block_content = ""
149
151
  in_json_block = False
@@ -161,16 +163,15 @@ async def stream_openai_response(conversation_history, start_new_stream):
161
163
  print(f"Error: {e}", style="bold red")
162
164
  break
163
165
 
164
- # 处理 buffer 中剩余的内容
165
- if buffer:
166
- if in_json_block:
167
- buffer = buffer.split("```")[0]
168
- json_block_content += buffer
166
+ # 处理流结束后的剩余内容
167
+ if in_json_block:
168
+ # 如果仍在 JSON 代码块模式,处理剩余的 JSON 内容
169
+ if json_block_content.strip():
169
170
  yield ("json", json_block_content.strip())
170
- else:
171
- text_content += buffer
172
- if text_content:
173
- yield ("text", text_content.strip())
171
+ else:
172
+ # 如果不在 JSON 代码块模式,处理剩余的文本内容
173
+ if text_content.strip():
174
+ yield ("text", text_content.strip())
174
175
 
175
176
 
176
177
  async def handle_user_inputs(
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: pycoze
3
- Version: 0.1.403
3
+ Version: 0.1.405
4
4
  Summary: Package for pycoze only!
5
5
  Author: Yuan Jie Xiong
6
6
  Author-email: aiqqqqqqq@qq.com
@@ -11,7 +11,7 @@ pycoze/api/lib/web.py,sha256=GWgtiTJOolKOX2drXcwuyqTcbo5FQVxa1NuBGcNyjyc,223
11
11
  pycoze/api/lib/window.py,sha256=dkzWfLwn5pE_L0DfQ38K8nx9tQyT5KO-GYyXi0rytFc,2073
12
12
  pycoze/bot/__init__.py,sha256=rL3Q-ycczRpSFfKn84fg3QBl5k22WpyeIU5qOEjEby8,79
13
13
  pycoze/bot/chat.py,sha256=qEuMxH0cVFU9QSU36FrOsjhRAxtsvOv7CQtuXvM3F6Y,6446
14
- pycoze/bot/chat_base.py,sha256=d9obNsYR0RRSILGy0m2lrKKzSJzy_NFI0fvjkxDyVkw,11209
14
+ pycoze/bot/chat_base.py,sha256=DQdNywFsb7ejON7c5vlbtguv_M3cV3t6FifAfoNGQb4,11385
15
15
  pycoze/bot/lib.py,sha256=_bQ52mKsWgFGAogFHnmRBJbvK_tPOwsAJ8NqJNMR5K4,7210
16
16
  pycoze/bot/message.py,sha256=udnIi-h4QgGzkbr_5VcAsVGjoLp9wXJSfBCeuOz7_Bk,802
17
17
  pycoze/bot/prompt.md,sha256=t7NQdiiNe-jCDVfeVbvTPfq5WK5nF8CxFUQUFMyXJlo,13880
@@ -31,8 +31,8 @@ pycoze/utils/arg.py,sha256=jop1tBfe5hYkHW1NSpCeaZBEznkgguBscj_7M2dWfrs,503
31
31
  pycoze/utils/env.py,sha256=5pWlXfM1F5ZU9hhv1rHlDEanjEW5wf0nbyez9bNRqqA,559
32
32
  pycoze/utils/socket.py,sha256=bZbFFRH4mfThzRqt55BAAGQ6eICx_ja4x8UGGrUdAm8,2428
33
33
  pycoze/utils/text_or_file.py,sha256=gpxZVWt2DW6YiEg_MnMuwg36VNf3TX383QD_1oZNB0Y,551
34
- pycoze-0.1.403.dist-info/LICENSE,sha256=QStd_Qsd0-kAam_-sOesCIp_uKrGWeoKwt9M49NVkNU,1090
35
- pycoze-0.1.403.dist-info/METADATA,sha256=oPdn1ujLGfPS5rhAADa_mOOngNcVlVybdrZwDVAsO4A,854
36
- pycoze-0.1.403.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
37
- pycoze-0.1.403.dist-info/top_level.txt,sha256=76dPeDhKvOCleL3ZC5gl1-y4vdS1tT_U1hxWVAn7sFo,7
38
- pycoze-0.1.403.dist-info/RECORD,,
34
+ pycoze-0.1.405.dist-info/LICENSE,sha256=QStd_Qsd0-kAam_-sOesCIp_uKrGWeoKwt9M49NVkNU,1090
35
+ pycoze-0.1.405.dist-info/METADATA,sha256=fu810K3pssW-tAdvTFjf5fLfpkBea1bdL260siYNL_Y,854
36
+ pycoze-0.1.405.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
37
+ pycoze-0.1.405.dist-info/top_level.txt,sha256=76dPeDhKvOCleL3ZC5gl1-y4vdS1tT_U1hxWVAn7sFo,7
38
+ pycoze-0.1.405.dist-info/RECORD,,