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 +15 -1
- {pycoze-0.1.405.dist-info → pycoze-0.1.407.dist-info}/METADATA +1 -1
- {pycoze-0.1.405.dist-info → pycoze-0.1.407.dist-info}/RECORD +6 -6
- {pycoze-0.1.405.dist-info → pycoze-0.1.407.dist-info}/LICENSE +0 -0
- {pycoze-0.1.405.dist-info → pycoze-0.1.407.dist-info}/WHEEL +0 -0
- {pycoze-0.1.405.dist-info → pycoze-0.1.407.dist-info}/top_level.txt +0 -0
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
|
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
|
|
@@ -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=
|
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.
|
35
|
-
pycoze-0.1.
|
36
|
-
pycoze-0.1.
|
37
|
-
pycoze-0.1.
|
38
|
-
pycoze-0.1.
|
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,,
|
File without changes
|
File without changes
|
File without changes
|