vision-agent 0.2.167__tar.gz → 0.2.169__tar.gz
Sign up to get free protection for your applications and to get access to all the features.
- {vision_agent-0.2.167 → vision_agent-0.2.169}/PKG-INFO +1 -1
- {vision_agent-0.2.167 → vision_agent-0.2.169}/pyproject.toml +1 -1
- {vision_agent-0.2.167 → vision_agent-0.2.169}/vision_agent/agent/vision_agent.py +56 -5
- {vision_agent-0.2.167 → vision_agent-0.2.169}/LICENSE +0 -0
- {vision_agent-0.2.167 → vision_agent-0.2.169}/README.md +0 -0
- {vision_agent-0.2.167 → vision_agent-0.2.169}/vision_agent/__init__.py +0 -0
- {vision_agent-0.2.167 → vision_agent-0.2.169}/vision_agent/agent/__init__.py +0 -0
- {vision_agent-0.2.167 → vision_agent-0.2.169}/vision_agent/agent/agent.py +0 -0
- {vision_agent-0.2.167 → vision_agent-0.2.169}/vision_agent/agent/agent_utils.py +0 -0
- {vision_agent-0.2.167 → vision_agent-0.2.169}/vision_agent/agent/vision_agent_coder.py +0 -0
- {vision_agent-0.2.167 → vision_agent-0.2.169}/vision_agent/agent/vision_agent_coder_prompts.py +0 -0
- {vision_agent-0.2.167 → vision_agent-0.2.169}/vision_agent/agent/vision_agent_planner.py +0 -0
- {vision_agent-0.2.167 → vision_agent-0.2.169}/vision_agent/agent/vision_agent_planner_prompts.py +0 -0
- {vision_agent-0.2.167 → vision_agent-0.2.169}/vision_agent/agent/vision_agent_prompts.py +0 -0
- {vision_agent-0.2.167 → vision_agent-0.2.169}/vision_agent/clients/__init__.py +0 -0
- {vision_agent-0.2.167 → vision_agent-0.2.169}/vision_agent/clients/http.py +0 -0
- {vision_agent-0.2.167 → vision_agent-0.2.169}/vision_agent/clients/landing_public_api.py +0 -0
- {vision_agent-0.2.167 → vision_agent-0.2.169}/vision_agent/fonts/__init__.py +0 -0
- {vision_agent-0.2.167 → vision_agent-0.2.169}/vision_agent/fonts/default_font_ch_en.ttf +0 -0
- {vision_agent-0.2.167 → vision_agent-0.2.169}/vision_agent/lmm/__init__.py +0 -0
- {vision_agent-0.2.167 → vision_agent-0.2.169}/vision_agent/lmm/lmm.py +0 -0
- {vision_agent-0.2.167 → vision_agent-0.2.169}/vision_agent/lmm/types.py +0 -0
- {vision_agent-0.2.167 → vision_agent-0.2.169}/vision_agent/tools/__init__.py +0 -0
- {vision_agent-0.2.167 → vision_agent-0.2.169}/vision_agent/tools/meta_tools.py +0 -0
- {vision_agent-0.2.167 → vision_agent-0.2.169}/vision_agent/tools/prompts.py +0 -0
- {vision_agent-0.2.167 → vision_agent-0.2.169}/vision_agent/tools/tool_utils.py +0 -0
- {vision_agent-0.2.167 → vision_agent-0.2.169}/vision_agent/tools/tools.py +0 -0
- {vision_agent-0.2.167 → vision_agent-0.2.169}/vision_agent/tools/tools_types.py +0 -0
- {vision_agent-0.2.167 → vision_agent-0.2.169}/vision_agent/utils/__init__.py +0 -0
- {vision_agent-0.2.167 → vision_agent-0.2.169}/vision_agent/utils/exceptions.py +0 -0
- {vision_agent-0.2.167 → vision_agent-0.2.169}/vision_agent/utils/execute.py +0 -0
- {vision_agent-0.2.167 → vision_agent-0.2.169}/vision_agent/utils/image_utils.py +0 -0
- {vision_agent-0.2.167 → vision_agent-0.2.169}/vision_agent/utils/sim.py +0 -0
- {vision_agent-0.2.167 → vision_agent-0.2.169}/vision_agent/utils/type_defs.py +0 -0
- {vision_agent-0.2.167 → vision_agent-0.2.169}/vision_agent/utils/video.py +0 -0
@@ -210,6 +210,51 @@ def add_step_descriptions(response: Dict[str, Any]) -> Dict[str, Any]:
|
|
210
210
|
return response
|
211
211
|
|
212
212
|
|
213
|
+
def new_format_to_old_format(new_format: Dict[str, Any]) -> Dict[str, Any]:
|
214
|
+
thoughts = new_format["thinking"] if new_format["thinking"] is not None else ""
|
215
|
+
response = new_format["response"] if new_format["response"] is not None else ""
|
216
|
+
if new_format["execute_python"] is not None:
|
217
|
+
response += (
|
218
|
+
f"\n<execute_python>\n{new_format['execute_python']}\n</execute_python>"
|
219
|
+
)
|
220
|
+
return {
|
221
|
+
"thoughts": thoughts,
|
222
|
+
"response": response,
|
223
|
+
"let_user_respond": new_format["let_user_respond"],
|
224
|
+
}
|
225
|
+
|
226
|
+
|
227
|
+
def old_format_to_new_format(old_format_str: str) -> str:
|
228
|
+
try:
|
229
|
+
old_format = json.loads(old_format_str)
|
230
|
+
except json.JSONDecodeError:
|
231
|
+
return old_format_str
|
232
|
+
|
233
|
+
thinking = old_format["thoughts"] if old_format["thoughts"].strip() != "" else None
|
234
|
+
let_user_respond = old_format["let_user_respond"]
|
235
|
+
if "<execute_python>" in old_format["response"]:
|
236
|
+
execute_python = extract_tag(old_format["response"], "execute_python")
|
237
|
+
response = (
|
238
|
+
old_format["response"]
|
239
|
+
.replace(execute_python, "")
|
240
|
+
.replace("<execute_python>", "")
|
241
|
+
.replace("</execute_python>", "")
|
242
|
+
.strip()
|
243
|
+
)
|
244
|
+
else:
|
245
|
+
execute_python = None
|
246
|
+
response = old_format["response"]
|
247
|
+
|
248
|
+
return json.dumps(
|
249
|
+
{
|
250
|
+
"thinking": thinking,
|
251
|
+
"response": response,
|
252
|
+
"execute_python": execute_python,
|
253
|
+
"let_user_respond": let_user_respond,
|
254
|
+
}
|
255
|
+
)
|
256
|
+
|
257
|
+
|
213
258
|
class VisionAgent(Agent):
|
214
259
|
"""Vision Agent is an agent that can chat with the user and call tools or other
|
215
260
|
agents to generate code for it. Vision Agent uses python code to execute actions
|
@@ -374,11 +419,11 @@ class VisionAgent(Agent):
|
|
374
419
|
(
|
375
420
|
{
|
376
421
|
"role": c["role"],
|
377
|
-
"content": c["content"],
|
422
|
+
"content": old_format_to_new_format(c["content"]), # type: ignore
|
378
423
|
"media": c["media"],
|
379
424
|
}
|
380
425
|
if "media" in c
|
381
|
-
else {"role": c["role"], "content": c["content"]}
|
426
|
+
else {"role": c["role"], "content": old_format_to_new_format(c["content"])} # type: ignore
|
382
427
|
)
|
383
428
|
for c in int_chat
|
384
429
|
],
|
@@ -432,13 +477,17 @@ class VisionAgent(Agent):
|
|
432
477
|
int_chat.append(
|
433
478
|
{
|
434
479
|
"role": "assistant",
|
435
|
-
"content": json.dumps(
|
480
|
+
"content": json.dumps(
|
481
|
+
new_format_to_old_format(add_step_descriptions(response))
|
482
|
+
),
|
436
483
|
}
|
437
484
|
)
|
438
485
|
orig_chat.append(
|
439
486
|
{
|
440
487
|
"role": "assistant",
|
441
|
-
"content": json.dumps(
|
488
|
+
"content": json.dumps(
|
489
|
+
new_format_to_old_format(add_step_descriptions(response))
|
490
|
+
),
|
442
491
|
}
|
443
492
|
)
|
444
493
|
|
@@ -471,7 +520,9 @@ class VisionAgent(Agent):
|
|
471
520
|
self.streaming_message(
|
472
521
|
{
|
473
522
|
"role": "assistant",
|
474
|
-
"content":
|
523
|
+
"content": new_format_to_old_format(
|
524
|
+
add_step_descriptions(response)
|
525
|
+
),
|
475
526
|
"finished": finished and code_action is None,
|
476
527
|
}
|
477
528
|
)
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{vision_agent-0.2.167 → vision_agent-0.2.169}/vision_agent/agent/vision_agent_coder_prompts.py
RENAMED
File without changes
|
File without changes
|
{vision_agent-0.2.167 → vision_agent-0.2.169}/vision_agent/agent/vision_agent_planner_prompts.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|