pycoze 0.1.406__py3-none-any.whl → 0.1.408__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 +8 -3
- {pycoze-0.1.406.dist-info → pycoze-0.1.408.dist-info}/METADATA +1 -1
- {pycoze-0.1.406.dist-info → pycoze-0.1.408.dist-info}/RECORD +6 -6
- {pycoze-0.1.406.dist-info → pycoze-0.1.408.dist-info}/LICENSE +0 -0
- {pycoze-0.1.406.dist-info → pycoze-0.1.408.dist-info}/WHEEL +0 -0
- {pycoze-0.1.406.dist-info → pycoze-0.1.408.dist-info}/top_level.txt +0 -0
pycoze/bot/chat_base.py
CHANGED
@@ -115,15 +115,16 @@ async def stream_openai_response(conversation_history, start_new_stream):
|
|
115
115
|
# 使用 async for 迭代异步生成器
|
116
116
|
try:
|
117
117
|
async for chunk in stream:
|
118
|
-
info("assistant", chunk)
|
119
|
-
buffer += chunk
|
120
|
-
|
121
118
|
# 检查是否需要重新创建流
|
122
119
|
if start_new_stream["value"]:
|
123
120
|
break # 退出当前的 async for 循环,进入下一次 while 循环
|
124
121
|
|
122
|
+
info("assistant", chunk)
|
123
|
+
buffer += chunk
|
124
|
+
|
125
125
|
# 处理 buffer 中的内容
|
126
126
|
while buffer:
|
127
|
+
print("while buffer", buffer)
|
127
128
|
if not in_json_block:
|
128
129
|
# 查找 JSON 代码块的起始标记
|
129
130
|
json_start_match = re.search(r"```json", buffer, re.IGNORECASE)
|
@@ -132,6 +133,7 @@ async def stream_openai_response(conversation_history, start_new_stream):
|
|
132
133
|
text_content += buffer[:json_start_match.start()]
|
133
134
|
# 如果 text_content 不为空,先 yield 文本
|
134
135
|
if text_content.strip():
|
136
|
+
print("yield text", text_content.strip())
|
135
137
|
yield ("text", text_content.strip())
|
136
138
|
text_content = ""
|
137
139
|
# 进入 JSON 代码块模式
|
@@ -148,6 +150,7 @@ async def stream_openai_response(conversation_history, start_new_stream):
|
|
148
150
|
# 提取 JSON 代码块内容
|
149
151
|
json_block_content += buffer[:json_end_match.start()]
|
150
152
|
# yield JSON 代码块
|
153
|
+
print("yield json", json_block_content.strip())
|
151
154
|
yield ("json", json_block_content.strip())
|
152
155
|
json_block_content = ""
|
153
156
|
in_json_block = False
|
@@ -177,10 +180,12 @@ async def stream_openai_response(conversation_history, start_new_stream):
|
|
177
180
|
if in_json_block:
|
178
181
|
# 如果仍在 JSON 代码块模式,处理剩余的 JSON 内容
|
179
182
|
if json_block_content.strip():
|
183
|
+
print("yield json", json_block_content.strip())
|
180
184
|
yield ("json", json_block_content.strip())
|
181
185
|
else:
|
182
186
|
# 如果不在 JSON 代码块模式,处理剩余的文本内容
|
183
187
|
if text_content.strip():
|
188
|
+
print("yield json", text_content.strip())
|
184
189
|
yield ("text", text_content.strip())
|
185
190
|
|
186
191
|
|
@@ -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=ivEdv376ZdbS5jfRXw3LX3al10SDO78OoQjKHS4JRQ4,11925
|
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.408.dist-info/LICENSE,sha256=QStd_Qsd0-kAam_-sOesCIp_uKrGWeoKwt9M49NVkNU,1090
|
35
|
+
pycoze-0.1.408.dist-info/METADATA,sha256=GWIrLuPH0qzRsYr4sD49jo9ItteAy8_kSYmZq11VBQ4,854
|
36
|
+
pycoze-0.1.408.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
|
37
|
+
pycoze-0.1.408.dist-info/top_level.txt,sha256=76dPeDhKvOCleL3ZC5gl1-y4vdS1tT_U1hxWVAn7sFo,7
|
38
|
+
pycoze-0.1.408.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|