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 +9 -7
- pycoze/bot/chat_base.py +2 -2
- pycoze/bot/lib.py +1 -1
- {pycoze-0.1.333.dist-info → pycoze-0.1.335.dist-info}/METADATA +1 -1
- {pycoze-0.1.333.dist-info → pycoze-0.1.335.dist-info}/RECORD +8 -8
- {pycoze-0.1.333.dist-info → pycoze-0.1.335.dist-info}/LICENSE +0 -0
- {pycoze-0.1.333.dist-info → pycoze-0.1.335.dist-info}/WHEEL +0 -0
- {pycoze-0.1.333.dist-info → pycoze-0.1.335.dist-info}/top_level.txt +0 -0
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":
|
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":
|
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:
|
@@ -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=
|
16
|
-
pycoze/bot/chat_base.py,sha256=
|
17
|
-
pycoze/bot/lib.py,sha256=
|
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.
|
37
|
-
pycoze-0.1.
|
38
|
-
pycoze-0.1.
|
39
|
-
pycoze-0.1.
|
40
|
-
pycoze-0.1.
|
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,,
|
File without changes
|
File without changes
|
File without changes
|