pycoze 0.1.405__py3-none-any.whl → 0.1.407__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
@@ -86,6 +86,8 @@ def dumps_markdown_json(data):
86
86
 
87
87
 
88
88
 
89
+ import re
90
+
89
91
  import re
90
92
 
91
93
  async def stream_openai_response(conversation_history, start_new_stream):
@@ -130,13 +132,14 @@ async def stream_openai_response(conversation_history, start_new_stream):
130
132
  text_content += buffer[:json_start_match.start()]
131
133
  # 如果 text_content 不为空,先 yield 文本
132
134
  if text_content.strip():
135
+ print("yield text", text_content.strip())
133
136
  yield ("text", text_content.strip())
134
137
  text_content = ""
135
138
  # 进入 JSON 代码块模式
136
139
  in_json_block = True
137
140
  buffer = buffer[json_start_match.end():]
138
141
  else:
139
- # 如果没有找到 JSON 代码块,直接累积到 text_content
142
+ # 如果没有找到 JSON 代码块,继续累积到 text_content
140
143
  text_content += buffer
141
144
  buffer = ""
142
145
  else:
@@ -146,6 +149,7 @@ async def stream_openai_response(conversation_history, start_new_stream):
146
149
  # 提取 JSON 代码块内容
147
150
  json_block_content += buffer[:json_end_match.start()]
148
151
  # yield JSON 代码块
152
+ print("yield json", json_block_content.strip())
149
153
  yield ("json", json_block_content.strip())
150
154
  json_block_content = ""
151
155
  in_json_block = False
@@ -163,14 +167,24 @@ async def stream_openai_response(conversation_history, start_new_stream):
163
167
  print(f"Error: {e}", style="bold red")
164
168
  break
165
169
 
170
+ # 处理 buffer 中剩余的内容
171
+ if buffer:
172
+ if in_json_block:
173
+ buffer = buffer.split("```")[0]
174
+ json_block_content += buffer
175
+ else:
176
+ text_content += buffer
177
+
166
178
  # 处理流结束后的剩余内容
167
179
  if in_json_block:
168
180
  # 如果仍在 JSON 代码块模式,处理剩余的 JSON 内容
169
181
  if json_block_content.strip():
182
+ print("yield json", json_block_content.strip())
170
183
  yield ("json", json_block_content.strip())
171
184
  else:
172
185
  # 如果不在 JSON 代码块模式,处理剩余的文本内容
173
186
  if text_content.strip():
187
+ print("yield json", text_content.strip())
174
188
  yield ("text", text_content.strip())
175
189
 
176
190
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: pycoze
3
- Version: 0.1.405
3
+ Version: 0.1.407
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=DQdNywFsb7ejON7c5vlbtguv_M3cV3t6FifAfoNGQb4,11385
14
+ pycoze/bot/chat_base.py,sha256=tuJeUCkmVKxOkiAsFwkD9ua6mBjwoLY94kIWsCU1qO8,11875
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.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,,
34
+ pycoze-0.1.407.dist-info/LICENSE,sha256=QStd_Qsd0-kAam_-sOesCIp_uKrGWeoKwt9M49NVkNU,1090
35
+ pycoze-0.1.407.dist-info/METADATA,sha256=57lOsTt5WHoai1A0OdESmCUTCSDcH8w0i-Z81pOrlOw,854
36
+ pycoze-0.1.407.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
37
+ pycoze-0.1.407.dist-info/top_level.txt,sha256=76dPeDhKvOCleL3ZC5gl1-y4vdS1tT_U1hxWVAn7sFo,7
38
+ pycoze-0.1.407.dist-info/RECORD,,