pycoze 0.1.472__py3-none-any.whl → 0.1.473__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 +1 -39
- pycoze/bot/prompt.md +1 -1
- {pycoze-0.1.472.dist-info → pycoze-0.1.473.dist-info}/METADATA +1 -1
- {pycoze-0.1.472.dist-info → pycoze-0.1.473.dist-info}/RECORD +7 -7
- {pycoze-0.1.472.dist-info → pycoze-0.1.473.dist-info}/LICENSE +0 -0
- {pycoze-0.1.472.dist-info → pycoze-0.1.473.dist-info}/WHEEL +0 -0
- {pycoze-0.1.472.dist-info → pycoze-0.1.473.dist-info}/top_level.txt +0 -0
pycoze/bot/chat_base.py
CHANGED
@@ -169,7 +169,6 @@ class BufferProcessor:
|
|
169
169
|
self.text_content = ""
|
170
170
|
|
171
171
|
|
172
|
-
|
173
172
|
async def stream_openai_response(conversation_history, start_new_stream):
|
174
173
|
"""
|
175
174
|
异步流式传输 OpenAI 聊天完成响应并处理结构化输出
|
@@ -220,39 +219,6 @@ async def stream_openai_response(conversation_history, start_new_stream):
|
|
220
219
|
yield result
|
221
220
|
|
222
221
|
|
223
|
-
def mark_json_error(e, content):
|
224
|
-
"""标记JSON解析错误的位置
|
225
|
-
Args:
|
226
|
-
e: JSONDecodeError异常
|
227
|
-
content: 原始JSON内容
|
228
|
-
Returns:
|
229
|
-
标记错误位置的字符串,并用 **ERROR** 标注错误位置
|
230
|
-
"""
|
231
|
-
# 确保上下文长度至少为前后各50个字符
|
232
|
-
error_start = max(0, e.pos - 50)
|
233
|
-
error_end = min(len(content), e.pos + 50)
|
234
|
-
error_context = content[error_start:error_end]
|
235
|
-
|
236
|
-
# 计算错误在上下文中的位置
|
237
|
-
error_pos_in_context = e.pos - error_start
|
238
|
-
|
239
|
-
# 确保错误位置在上下文中
|
240
|
-
if error_pos_in_context < 0 or error_pos_in_context >= len(error_context):
|
241
|
-
# 如果错误位置超出上下文范围,返回整个上下文并标记错误位置
|
242
|
-
return (
|
243
|
-
f"Error position is at the end of the context:\n"
|
244
|
-
f"{error_context}**ERROR_HERE**"
|
245
|
-
)
|
246
|
-
|
247
|
-
# 标记错误位置
|
248
|
-
marked_error = (
|
249
|
-
error_context[:error_pos_in_context] +
|
250
|
-
'**ERROR_HERE**' + error_context[error_pos_in_context] + '**ERROR_HERE**' +
|
251
|
-
error_context[error_pos_in_context + 1:]
|
252
|
-
)
|
253
|
-
|
254
|
-
return marked_error
|
255
|
-
|
256
222
|
|
257
223
|
async def handle_user_inputs(
|
258
224
|
conversation_history, user_input, cwd, abilities, has_any_tool, bot_setting, bot_setting_file:str
|
@@ -321,14 +287,10 @@ async def handle_user_inputs(
|
|
321
287
|
"content": f"\n```json\n{cleaned_content}\n```\n",
|
322
288
|
}
|
323
289
|
)
|
324
|
-
# 使用函数标记错误位置
|
325
|
-
marked_error = mark_json_error(e, cleaned_content)
|
326
|
-
json_err = f"JSON parsing error\n\nError type: {type(e).__name__}\nError message: {e.msg}\nPosition: line {e.lineno}, column {e.colno}\n\nError context:\n{marked_error}\n\nPlease think and check and correct the JSON format, then try again."
|
327
|
-
print("json_err: ", json_err)
|
328
290
|
conversation_history.append(
|
329
291
|
{
|
330
292
|
"role": "user",
|
331
|
-
"content":
|
293
|
+
"content": "Invalid JSON content:" + str(e) + ", you should try again, When the content contains triple backticks ```, they MUST be escaped as \\`\\`\\`.",
|
332
294
|
}
|
333
295
|
)
|
334
296
|
start_new_stream["value"] = True
|
pycoze/bot/prompt.md
CHANGED
@@ -108,7 +108,7 @@ def write_or_overwrite_file(path: str, content: str) -> None:
|
|
108
108
|
Parameters:
|
109
109
|
path (str): The file path to write, which can be a relative path.
|
110
110
|
content (str): The content to write or overwrite into the file. Always provide the full content of the file, do not truncate or omit parts. You must include all sections of the file, even those that haven't been modified!
|
111
|
-
When the content contains triple backticks ```, they MUST be escaped as
|
111
|
+
When the content contains triple backticks ```, they MUST be escaped as \\`\\`\\`.
|
112
112
|
|
113
113
|
Returns:
|
114
114
|
None
|
@@ -11,10 +11,10 @@ pycoze/api/lib/web.py,sha256=4HaOV_zYHq6-SSQQIc_O7REnC1asIlXIELxee-pU6zc,2421
|
|
11
11
|
pycoze/api/lib/window.py,sha256=ZZacqnX0fvZUnLUhNVjbbjhBcKkYdi_6E0LswLp1MqM,2071
|
12
12
|
pycoze/bot/__init__.py,sha256=rL3Q-ycczRpSFfKn84fg3QBl5k22WpyeIU5qOEjEby8,79
|
13
13
|
pycoze/bot/chat.py,sha256=bScsMc0hGh2NlvhQxzWEbnA_WXU9JdAJv-rx27SpEB8,6554
|
14
|
-
pycoze/bot/chat_base.py,sha256
|
14
|
+
pycoze/bot/chat_base.py,sha256=-jyczc_UrvspedfqwsodA3uxNt5ih9uMBjbbfBZvbJg,12782
|
15
15
|
pycoze/bot/lib.py,sha256=WU4h3B7SG7vh9p9BxhtPlaJ7TkU9VsL3HyCn9hKhWOo,7753
|
16
16
|
pycoze/bot/message.py,sha256=udnIi-h4QgGzkbr_5VcAsVGjoLp9wXJSfBCeuOz7_Bk,802
|
17
|
-
pycoze/bot/prompt.md,sha256=
|
17
|
+
pycoze/bot/prompt.md,sha256=kGsiD_q1pXpzlr6aNJq0_0bM-gm3ve92vlJ9ByybAtA,14163
|
18
18
|
pycoze/bot/tools.py,sha256=BWMdwvqLzvcyaW38lzxUWtc0K1V-C_qPSEZ3OKlAQvU,11108
|
19
19
|
pycoze/reference/__init__.py,sha256=u25FWJnOBWsDRoL8_O4jzW4tkJrHT3Sqp9EGCxUhS3E,211
|
20
20
|
pycoze/reference/bot.py,sha256=UZK24Qm8kpqpwXJy_zNZeTEEDee05luXdSBeUm0NCt0,2029
|
@@ -33,8 +33,8 @@ pycoze/utils/env.py,sha256=5pWlXfM1F5ZU9hhv1rHlDEanjEW5wf0nbyez9bNRqqA,559
|
|
33
33
|
pycoze/utils/process.py,sha256=U2MURGmxfyWBqdbKfy5UvyV17M40B6HHlNELgWfgrTE,3824
|
34
34
|
pycoze/utils/socket.py,sha256=4Wm4LlwdWXC_kAV0NnZbUc0Y3Kc6KRMyFRqSw79u-9w,2468
|
35
35
|
pycoze/utils/text_or_file.py,sha256=gpxZVWt2DW6YiEg_MnMuwg36VNf3TX383QD_1oZNB0Y,551
|
36
|
-
pycoze-0.1.
|
37
|
-
pycoze-0.1.
|
38
|
-
pycoze-0.1.
|
39
|
-
pycoze-0.1.
|
40
|
-
pycoze-0.1.
|
36
|
+
pycoze-0.1.473.dist-info/LICENSE,sha256=QStd_Qsd0-kAam_-sOesCIp_uKrGWeoKwt9M49NVkNU,1090
|
37
|
+
pycoze-0.1.473.dist-info/METADATA,sha256=dsPBcfMpYm7ewVC6F_0O2IOTIy3iDXZ05T7M_YgQnMs,854
|
38
|
+
pycoze-0.1.473.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
|
39
|
+
pycoze-0.1.473.dist-info/top_level.txt,sha256=76dPeDhKvOCleL3ZC5gl1-y4vdS1tT_U1hxWVAn7sFo,7
|
40
|
+
pycoze-0.1.473.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|