vision-agent 0.2.171__tar.gz → 0.2.173__tar.gz
Sign up to get free protection for your applications and to get access to all the features.
- {vision_agent-0.2.171 → vision_agent-0.2.173}/PKG-INFO +1 -1
- {vision_agent-0.2.171 → vision_agent-0.2.173}/pyproject.toml +1 -1
- {vision_agent-0.2.171 → vision_agent-0.2.173}/vision_agent/agent/vision_agent.py +13 -13
- {vision_agent-0.2.171 → vision_agent-0.2.173}/vision_agent/tools/meta_tools.py +8 -11
- {vision_agent-0.2.171 → vision_agent-0.2.173}/LICENSE +0 -0
- {vision_agent-0.2.171 → vision_agent-0.2.173}/README.md +0 -0
- {vision_agent-0.2.171 → vision_agent-0.2.173}/vision_agent/__init__.py +0 -0
- {vision_agent-0.2.171 → vision_agent-0.2.173}/vision_agent/agent/__init__.py +0 -0
- {vision_agent-0.2.171 → vision_agent-0.2.173}/vision_agent/agent/agent.py +0 -0
- {vision_agent-0.2.171 → vision_agent-0.2.173}/vision_agent/agent/agent_utils.py +0 -0
- {vision_agent-0.2.171 → vision_agent-0.2.173}/vision_agent/agent/vision_agent_coder.py +0 -0
- {vision_agent-0.2.171 → vision_agent-0.2.173}/vision_agent/agent/vision_agent_coder_prompts.py +0 -0
- {vision_agent-0.2.171 → vision_agent-0.2.173}/vision_agent/agent/vision_agent_planner.py +0 -0
- {vision_agent-0.2.171 → vision_agent-0.2.173}/vision_agent/agent/vision_agent_planner_prompts.py +0 -0
- {vision_agent-0.2.171 → vision_agent-0.2.173}/vision_agent/agent/vision_agent_prompts.py +0 -0
- {vision_agent-0.2.171 → vision_agent-0.2.173}/vision_agent/clients/__init__.py +0 -0
- {vision_agent-0.2.171 → vision_agent-0.2.173}/vision_agent/clients/http.py +0 -0
- {vision_agent-0.2.171 → vision_agent-0.2.173}/vision_agent/clients/landing_public_api.py +0 -0
- {vision_agent-0.2.171 → vision_agent-0.2.173}/vision_agent/fonts/__init__.py +0 -0
- {vision_agent-0.2.171 → vision_agent-0.2.173}/vision_agent/fonts/default_font_ch_en.ttf +0 -0
- {vision_agent-0.2.171 → vision_agent-0.2.173}/vision_agent/lmm/__init__.py +0 -0
- {vision_agent-0.2.171 → vision_agent-0.2.173}/vision_agent/lmm/lmm.py +0 -0
- {vision_agent-0.2.171 → vision_agent-0.2.173}/vision_agent/lmm/types.py +0 -0
- {vision_agent-0.2.171 → vision_agent-0.2.173}/vision_agent/tools/__init__.py +0 -0
- {vision_agent-0.2.171 → vision_agent-0.2.173}/vision_agent/tools/prompts.py +0 -0
- {vision_agent-0.2.171 → vision_agent-0.2.173}/vision_agent/tools/tool_utils.py +0 -0
- {vision_agent-0.2.171 → vision_agent-0.2.173}/vision_agent/tools/tools.py +0 -0
- {vision_agent-0.2.171 → vision_agent-0.2.173}/vision_agent/tools/tools_types.py +0 -0
- {vision_agent-0.2.171 → vision_agent-0.2.173}/vision_agent/utils/__init__.py +0 -0
- {vision_agent-0.2.171 → vision_agent-0.2.173}/vision_agent/utils/exceptions.py +0 -0
- {vision_agent-0.2.171 → vision_agent-0.2.173}/vision_agent/utils/execute.py +0 -0
- {vision_agent-0.2.171 → vision_agent-0.2.173}/vision_agent/utils/image_utils.py +0 -0
- {vision_agent-0.2.171 → vision_agent-0.2.173}/vision_agent/utils/sim.py +0 -0
- {vision_agent-0.2.171 → vision_agent-0.2.173}/vision_agent/utils/type_defs.py +0 -0
- {vision_agent-0.2.171 → vision_agent-0.2.173}/vision_agent/utils/video.py +0 -0
@@ -149,11 +149,11 @@ def execute_code_action(
|
|
149
149
|
result = code_interpreter.exec_isolation(
|
150
150
|
BoilerplateCode.add_boilerplate(code, remote_path=artifact_remote_path)
|
151
151
|
)
|
152
|
-
extract_and_save_files_to_artifacts(artifacts, code)
|
153
152
|
|
154
153
|
obs = str(result.logs)
|
155
154
|
if result.error:
|
156
155
|
obs += f"\n{result.error}"
|
156
|
+
extract_and_save_files_to_artifacts(artifacts, code, obs)
|
157
157
|
return result, obs
|
158
158
|
|
159
159
|
|
@@ -182,6 +182,7 @@ def execute_user_code_action(
|
|
182
182
|
)
|
183
183
|
if user_result.error:
|
184
184
|
user_obs += f"\n{user_result.error}"
|
185
|
+
extract_and_save_files_to_artifacts(artifacts, user_code_action, user_obs)
|
185
186
|
return user_result, user_obs
|
186
187
|
|
187
188
|
|
@@ -491,19 +492,10 @@ class VisionAgent(Agent):
|
|
491
492
|
}
|
492
493
|
)
|
493
494
|
|
495
|
+
code_action = response.get("execute_python", None)
|
494
496
|
# sometimes it gets stuck in a loop, so we force it to exit
|
495
497
|
if last_response == response:
|
496
498
|
response["let_user_respond"] = True
|
497
|
-
|
498
|
-
finished = response.get("let_user_respond", False)
|
499
|
-
|
500
|
-
code_action = response.get("execute_python", None)
|
501
|
-
if code_action is not None:
|
502
|
-
code_action = use_extra_vision_agent_args(
|
503
|
-
code_action, test_multi_plan, custom_tool_names
|
504
|
-
)
|
505
|
-
|
506
|
-
if last_response == response:
|
507
499
|
self.streaming_message(
|
508
500
|
{
|
509
501
|
"role": "assistant",
|
@@ -513,7 +505,7 @@ class VisionAgent(Agent):
|
|
513
505
|
"value": "Agent is stuck in conversation loop, exited",
|
514
506
|
"traceback_raw": [],
|
515
507
|
},
|
516
|
-
"finished":
|
508
|
+
"finished": code_action is None,
|
517
509
|
}
|
518
510
|
)
|
519
511
|
else:
|
@@ -523,10 +515,18 @@ class VisionAgent(Agent):
|
|
523
515
|
"content": new_format_to_old_format(
|
524
516
|
add_step_descriptions(response)
|
525
517
|
),
|
526
|
-
"finished":
|
518
|
+
"finished": response.get("let_user_respond", False)
|
519
|
+
and code_action is None,
|
527
520
|
}
|
528
521
|
)
|
529
522
|
|
523
|
+
finished = response.get("let_user_respond", False)
|
524
|
+
|
525
|
+
if code_action is not None:
|
526
|
+
code_action = use_extra_vision_agent_args(
|
527
|
+
code_action, test_multi_plan, custom_tool_names
|
528
|
+
)
|
529
|
+
|
530
530
|
if code_action is not None:
|
531
531
|
result, obs = execute_code_action(
|
532
532
|
artifacts,
|
@@ -451,11 +451,6 @@ def generate_vision_code(
|
|
451
451
|
custom_tool_names=custom_tool_names,
|
452
452
|
)
|
453
453
|
|
454
|
-
# capture and save any files that were saved in the code to the artifacts
|
455
|
-
extract_and_save_files_to_artifacts(
|
456
|
-
artifacts, response["code"] + "\n" + response["test"]
|
457
|
-
)
|
458
|
-
|
459
454
|
redisplay_results(response["test_result"])
|
460
455
|
code = response["code"]
|
461
456
|
artifacts[name] = code
|
@@ -536,10 +531,6 @@ def edit_vision_code(
|
|
536
531
|
test_multi_plan=False,
|
537
532
|
custom_tool_names=custom_tool_names,
|
538
533
|
)
|
539
|
-
# capture and save any files that were saved in the code to the artifacts
|
540
|
-
extract_and_save_files_to_artifacts(
|
541
|
-
artifacts, response["code"] + "\n" + response["test"]
|
542
|
-
)
|
543
534
|
|
544
535
|
redisplay_results(response["test_result"])
|
545
536
|
code = response["code"]
|
@@ -766,7 +757,9 @@ def use_object_detection_fine_tuning(
|
|
766
757
|
return diff
|
767
758
|
|
768
759
|
|
769
|
-
def extract_and_save_files_to_artifacts(
|
760
|
+
def extract_and_save_files_to_artifacts(
|
761
|
+
artifacts: Artifacts, code: str, obs: str
|
762
|
+
) -> None:
|
770
763
|
"""Extracts and saves files used in the code to the artifacts object.
|
771
764
|
|
772
765
|
Parameters:
|
@@ -776,12 +769,16 @@ def extract_and_save_files_to_artifacts(artifacts: Artifacts, code: str) -> None
|
|
776
769
|
try:
|
777
770
|
response = extract_json(
|
778
771
|
AnthropicLMM()( # type: ignore
|
779
|
-
f"""You are a helpful AI assistant. Your job is to look at a snippet of code and return the file paths that are being saved in the file. Below is the code snippet:
|
772
|
+
f"""You are a helpful AI assistant. Your job is to look at a snippet of code and the output of running that code and return the file paths that are being saved in the file. Below is the code snippet:
|
780
773
|
|
781
774
|
```python
|
782
775
|
{code}
|
783
776
|
```
|
784
777
|
|
778
|
+
```output
|
779
|
+
{obs}
|
780
|
+
```
|
781
|
+
|
785
782
|
Return the file paths in the following JSON format:
|
786
783
|
{{"file_paths": ["/path/to/image1.jpg", "/other/path/to/data.json"]}}"""
|
787
784
|
)
|
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.171 → vision_agent-0.2.173}/vision_agent/agent/vision_agent_coder_prompts.py
RENAMED
File without changes
|
File without changes
|
{vision_agent-0.2.171 → vision_agent-0.2.173}/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
|