pycoze 0.1.333__py3-none-any.whl → 0.1.335__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.py CHANGED
@@ -17,11 +17,11 @@ async def check_interrupt_file(interval, interrupt_file, chat_task):
17
17
  break
18
18
 
19
19
 
20
- async def run_with_interrupt_check(conversation_history, user_input, cwd: str, abilities, bot_setting, interrupt_file):
20
+ async def run_with_interrupt_check(conversation_history, user_input, cwd: str, abilities, has_any_tool, bot_setting, interrupt_file):
21
21
  clear_chat_data()
22
22
  try:
23
23
  chat_task = asyncio.create_task(
24
- handle_user_inputs(conversation_history, user_input, cwd, abilities, bot_setting)
24
+ handle_user_inputs(conversation_history, user_input, cwd, abilities, has_any_tool, bot_setting)
25
25
  )
26
26
  check_task = asyncio.create_task(
27
27
  check_interrupt_file(0.5, interrupt_file, chat_task)
@@ -52,10 +52,11 @@ def chat(bot_setting_file: str):
52
52
  bot_setting = json.load(f)
53
53
  abilities = get_abilities(bot_setting)
54
54
  cwd = tempfile.mkdtemp()
55
+ system_prompt, has_any_tool = get_system_prompt(abilities, bot_setting)
55
56
  conversation_history = [
56
57
  {
57
58
  "role": "system",
58
- "content": get_system_prompt(abilities, bot_setting),
59
+ "content": system_prompt,
59
60
  }
60
61
  ]
61
62
  while True:
@@ -69,12 +70,12 @@ def chat(bot_setting_file: str):
69
70
  if "interruptFile" in params:
70
71
  asyncio.run(
71
72
  run_with_interrupt_check(
72
- conversation_history, user_input, cwd, abilities, bot_setting, params["interruptFile"]
73
+ conversation_history, user_input, cwd, abilities, has_any_tool, bot_setting, params["interruptFile"]
73
74
  )
74
75
  )
75
76
  else:
76
77
  asyncio.run(
77
- handle_user_inputs(conversation_history, user_input, cwd, abilities, bot_setting)
78
+ handle_user_inputs(conversation_history, user_input, cwd, abilities, has_any_tool, bot_setting)
78
79
  )
79
80
 
80
81
  output("assistant", CHAT_DATA["info"])
@@ -85,14 +86,15 @@ def get_chat_response(bot_setting_file: str, user_input: str):
85
86
  bot_setting = json.load(f)
86
87
  abilities = get_abilities(bot_setting)
87
88
  cwd = tempfile.mkdtemp()
89
+ system_prompt, has_any_tool = get_system_prompt(abilities, bot_setting)
88
90
  conversation_history = [
89
91
  {
90
92
  "role": "system",
91
- "content": get_system_prompt(abilities, bot_setting),
93
+ "content": system_prompt,
92
94
  }
93
95
  ]
94
96
  asyncio.run(
95
- handle_user_inputs(conversation_history, user_input, cwd, abilities, bot_setting)
97
+ handle_user_inputs(conversation_history, user_input, cwd, abilities, has_any_tool, bot_setting)
96
98
  )
97
99
 
98
100
  return CHAT_DATA["info"]
pycoze/bot/chat_base.py CHANGED
@@ -145,7 +145,7 @@ async def stream_openai_response(conversation_history, start_new_stream):
145
145
  yield ("text", text_content.strip())
146
146
 
147
147
 
148
- async def handle_user_inputs(conversation_history, user_input, cwd, abilities, bot_setting):
148
+ async def handle_user_inputs(conversation_history, user_input, cwd, abilities, has_any_tool, bot_setting):
149
149
  no_exit_if_incomplete = bot_setting["systemAbility"]['no_exit_if_incomplete']
150
150
  programmer_mode = bot_setting["systemAbility"]['programmer_mode']
151
151
 
@@ -174,7 +174,7 @@ async def handle_user_inputs(conversation_history, user_input, cwd, abilities, b
174
174
  conversation_history, start_new_stream
175
175
  ):
176
176
  if len(response) == 2:
177
- if response[0] == "text" and response[1].strip() != "":
177
+ if response[0] == "text" and response[1].strip() != "" or (response[0] == "json" and not has_any_tool):
178
178
  conversation_history.append(
179
179
  {"role": "assistant", "content": response[1]}
180
180
  )
pycoze/bot/lib.py CHANGED
@@ -99,7 +99,7 @@ def get_system_prompt(abilities, bot_setting):
99
99
  context["has_any_tool"] = has_any_tool
100
100
  system_prompt = template.render(context)
101
101
 
102
- return system_prompt
102
+ return system_prompt, has_any_tool
103
103
 
104
104
 
105
105
  def resolve_relative_path(cwd:str, path_str: str) -> str:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: pycoze
3
- Version: 0.1.333
3
+ Version: 0.1.335
4
4
  Summary: Package for pycoze only!
5
5
  Author: Yuan Jie Xiong
6
6
  Author-email: aiqqqqqqq@qq.com
@@ -12,9 +12,9 @@ pycoze/api/lib/view.py,sha256=_PIpTfeuTPPlMDKshMGsqFQYMq7ZiO4Hg5XwHwDoU60,7357
12
12
  pycoze/api/lib/web.py,sha256=GWgtiTJOolKOX2drXcwuyqTcbo5FQVxa1NuBGcNyjyc,223
13
13
  pycoze/api/lib/window.py,sha256=bTkQCzQZ7i3pYXB70bUSTBNJ9C4TW_X3yMae1VkquGk,1944
14
14
  pycoze/bot/__init__.py,sha256=rL3Q-ycczRpSFfKn84fg3QBl5k22WpyeIU5qOEjEby8,79
15
- pycoze/bot/chat.py,sha256=cYMXFe0hgN0CTcI5BiUtte2eTZwgYLKq1vBDQ-eqB5c,3246
16
- pycoze/bot/chat_base.py,sha256=czmOKUum3Rwo4lAOJtfslxaF8RKauWzj26s_WMmQa48,9180
17
- pycoze/bot/lib.py,sha256=ldT9zEXzAVr3XUGs965LHD8R-SO5C4jbytj6nPnYoL8,7210
15
+ pycoze/bot/chat.py,sha256=s12X8iOZa8MK-5VUd9JfzIA-gLxY80FJfphcfEx3b_s,3414
16
+ pycoze/bot/chat_base.py,sha256=yPskzKHBdbTiNB2E-FUZfTHdxgDxwYa-AeF2cSh6Ids,9242
17
+ pycoze/bot/lib.py,sha256=smigeWuhl8esHE-Y5l_9bpjJkEJ5OqrxTyPcO8JIubM,7224
18
18
  pycoze/bot/message.py,sha256=Zq-_k8HztBMOUIs3hbOvWvwHBNopn4UJJBliCROIGcc,718
19
19
  pycoze/bot/prompt.md,sha256=XHP8EdtzmnlMbM0xTe5GKnjAIFq7KauUARiNly2atz4,15777
20
20
  pycoze/bot/tools.py,sha256=j8l0sXEPn_yjTllHcmYEr_auVDuOicXdDco4bhZVIIA,9694
@@ -33,8 +33,8 @@ pycoze/utils/arg.py,sha256=jop1tBfe5hYkHW1NSpCeaZBEznkgguBscj_7M2dWfrs,503
33
33
  pycoze/utils/env.py,sha256=5pWlXfM1F5ZU9hhv1rHlDEanjEW5wf0nbyez9bNRqqA,559
34
34
  pycoze/utils/socket.py,sha256=bZbFFRH4mfThzRqt55BAAGQ6eICx_ja4x8UGGrUdAm8,2428
35
35
  pycoze/utils/text_or_file.py,sha256=gpxZVWt2DW6YiEg_MnMuwg36VNf3TX383QD_1oZNB0Y,551
36
- pycoze-0.1.333.dist-info/LICENSE,sha256=QStd_Qsd0-kAam_-sOesCIp_uKrGWeoKwt9M49NVkNU,1090
37
- pycoze-0.1.333.dist-info/METADATA,sha256=-uEQHEdXURdiEaD_eWQmILs9_yZsvBgzMfIW9Wbotjc,854
38
- pycoze-0.1.333.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
39
- pycoze-0.1.333.dist-info/top_level.txt,sha256=76dPeDhKvOCleL3ZC5gl1-y4vdS1tT_U1hxWVAn7sFo,7
40
- pycoze-0.1.333.dist-info/RECORD,,
36
+ pycoze-0.1.335.dist-info/LICENSE,sha256=QStd_Qsd0-kAam_-sOesCIp_uKrGWeoKwt9M49NVkNU,1090
37
+ pycoze-0.1.335.dist-info/METADATA,sha256=KZRVSeVzkAJS2p1s4Zu385igwaArfwRH1oKe1BWyWeA,854
38
+ pycoze-0.1.335.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
39
+ pycoze-0.1.335.dist-info/top_level.txt,sha256=76dPeDhKvOCleL3ZC5gl1-y4vdS1tT_U1hxWVAn7sFo,7
40
+ pycoze-0.1.335.dist-info/RECORD,,