vision-agent 0.2.137__tar.gz → 0.2.139__tar.gz
Sign up to get free protection for your applications and to get access to all the features.
- {vision_agent-0.2.137 → vision_agent-0.2.139}/PKG-INFO +2 -1
- {vision_agent-0.2.137 → vision_agent-0.2.139}/pyproject.toml +2 -2
- {vision_agent-0.2.137 → vision_agent-0.2.139}/vision_agent/agent/vision_agent.py +32 -2
- {vision_agent-0.2.137 → vision_agent-0.2.139}/vision_agent/tools/meta_tools.py +1 -0
- {vision_agent-0.2.137 → vision_agent-0.2.139}/vision_agent/utils/execute.py +1 -1
- {vision_agent-0.2.137 → vision_agent-0.2.139}/LICENSE +0 -0
- {vision_agent-0.2.137 → vision_agent-0.2.139}/README.md +0 -0
- {vision_agent-0.2.137 → vision_agent-0.2.139}/vision_agent/__init__.py +0 -0
- {vision_agent-0.2.137 → vision_agent-0.2.139}/vision_agent/agent/__init__.py +0 -0
- {vision_agent-0.2.137 → vision_agent-0.2.139}/vision_agent/agent/agent.py +0 -0
- {vision_agent-0.2.137 → vision_agent-0.2.139}/vision_agent/agent/agent_utils.py +0 -0
- {vision_agent-0.2.137 → vision_agent-0.2.139}/vision_agent/agent/vision_agent_coder.py +0 -0
- {vision_agent-0.2.137 → vision_agent-0.2.139}/vision_agent/agent/vision_agent_coder_prompts.py +0 -0
- {vision_agent-0.2.137 → vision_agent-0.2.139}/vision_agent/agent/vision_agent_prompts.py +0 -0
- {vision_agent-0.2.137 → vision_agent-0.2.139}/vision_agent/clients/__init__.py +0 -0
- {vision_agent-0.2.137 → vision_agent-0.2.139}/vision_agent/clients/http.py +0 -0
- {vision_agent-0.2.137 → vision_agent-0.2.139}/vision_agent/clients/landing_public_api.py +0 -0
- {vision_agent-0.2.137 → vision_agent-0.2.139}/vision_agent/fonts/__init__.py +0 -0
- {vision_agent-0.2.137 → vision_agent-0.2.139}/vision_agent/fonts/default_font_ch_en.ttf +0 -0
- {vision_agent-0.2.137 → vision_agent-0.2.139}/vision_agent/lmm/__init__.py +0 -0
- {vision_agent-0.2.137 → vision_agent-0.2.139}/vision_agent/lmm/lmm.py +0 -0
- {vision_agent-0.2.137 → vision_agent-0.2.139}/vision_agent/lmm/types.py +0 -0
- {vision_agent-0.2.137 → vision_agent-0.2.139}/vision_agent/tools/__init__.py +0 -0
- {vision_agent-0.2.137 → vision_agent-0.2.139}/vision_agent/tools/prompts.py +0 -0
- {vision_agent-0.2.137 → vision_agent-0.2.139}/vision_agent/tools/tool_utils.py +0 -0
- {vision_agent-0.2.137 → vision_agent-0.2.139}/vision_agent/tools/tools.py +0 -0
- {vision_agent-0.2.137 → vision_agent-0.2.139}/vision_agent/tools/tools_types.py +0 -0
- {vision_agent-0.2.137 → vision_agent-0.2.139}/vision_agent/utils/__init__.py +0 -0
- {vision_agent-0.2.137 → vision_agent-0.2.139}/vision_agent/utils/exceptions.py +0 -0
- {vision_agent-0.2.137 → vision_agent-0.2.139}/vision_agent/utils/image_utils.py +0 -0
- {vision_agent-0.2.137 → vision_agent-0.2.139}/vision_agent/utils/sim.py +0 -0
- {vision_agent-0.2.137 → vision_agent-0.2.139}/vision_agent/utils/type_defs.py +0 -0
- {vision_agent-0.2.137 → vision_agent-0.2.139}/vision_agent/utils/video.py +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: vision-agent
|
3
|
-
Version: 0.2.
|
3
|
+
Version: 0.2.139
|
4
4
|
Summary: Toolset for Vision Agent
|
5
5
|
Author: Landing AI
|
6
6
|
Author-email: dev@landing.ai
|
@@ -13,6 +13,7 @@ Requires-Dist: anthropic (>=0.31.0,<0.32.0)
|
|
13
13
|
Requires-Dist: av (>=11.0.0,<12.0.0)
|
14
14
|
Requires-Dist: e2b (>=0.17.2a50,<0.18.0)
|
15
15
|
Requires-Dist: e2b-code-interpreter (==0.0.11a37)
|
16
|
+
Requires-Dist: flake8 (>=7.0.0,<8.0.0)
|
16
17
|
Requires-Dist: ipykernel (>=6.29.4,<7.0.0)
|
17
18
|
Requires-Dist: langsmith (>=0.1.58,<0.2.0)
|
18
19
|
Requires-Dist: nbclient (>=0.10.0,<0.11.0)
|
@@ -4,7 +4,7 @@ build-backend = "poetry.core.masonry.api"
|
|
4
4
|
|
5
5
|
[tool.poetry]
|
6
6
|
name = "vision-agent"
|
7
|
-
version = "0.2.
|
7
|
+
version = "0.2.139"
|
8
8
|
description = "Toolset for Vision Agent"
|
9
9
|
authors = ["Landing AI <dev@landing.ai>"]
|
10
10
|
readme = "README.md"
|
@@ -24,6 +24,7 @@ requests = "2.*"
|
|
24
24
|
tqdm = ">=4.64.0,<5.0.0"
|
25
25
|
pandas = "2.*"
|
26
26
|
openai = "1.*"
|
27
|
+
flake8 = "^7.0.0"
|
27
28
|
typing_extensions = "4.*"
|
28
29
|
opencv-python = "4.*"
|
29
30
|
tabulate = "^0.9.0"
|
@@ -47,7 +48,6 @@ av = "^11.0.0"
|
|
47
48
|
autoflake = "1.*"
|
48
49
|
pytest = "7.*"
|
49
50
|
black = ">=23,<25"
|
50
|
-
flake8 = "5.*"
|
51
51
|
isort = "5.*"
|
52
52
|
responses = "^0.23.1"
|
53
53
|
mypy = "<1.8.0"
|
@@ -218,6 +218,7 @@ class VisionAgent(Agent):
|
|
218
218
|
) as code_interpreter:
|
219
219
|
orig_chat = copy.deepcopy(chat)
|
220
220
|
int_chat = copy.deepcopy(chat)
|
221
|
+
last_user_message_content = chat[-1].get("content")
|
221
222
|
media_list = []
|
222
223
|
for chat_i in int_chat:
|
223
224
|
if "media" in chat_i:
|
@@ -266,6 +267,32 @@ class VisionAgent(Agent):
|
|
266
267
|
orig_chat.append({"role": "observation", "content": artifacts_loaded})
|
267
268
|
self.streaming_message({"role": "observation", "content": artifacts_loaded})
|
268
269
|
|
270
|
+
if isinstance(last_user_message_content, str):
|
271
|
+
user_code_action = parse_execution(last_user_message_content, False)
|
272
|
+
if user_code_action is not None:
|
273
|
+
user_result, user_obs = run_code_action(
|
274
|
+
user_code_action, code_interpreter, str(remote_artifacts_path)
|
275
|
+
)
|
276
|
+
if self.verbosity >= 1:
|
277
|
+
_LOGGER.info(user_obs)
|
278
|
+
int_chat.append({"role": "observation", "content": user_obs})
|
279
|
+
orig_chat.append(
|
280
|
+
{
|
281
|
+
"role": "observation",
|
282
|
+
"content": user_obs,
|
283
|
+
"execution": user_result,
|
284
|
+
}
|
285
|
+
)
|
286
|
+
self.streaming_message(
|
287
|
+
{
|
288
|
+
"role": "observation",
|
289
|
+
"content": user_obs,
|
290
|
+
"execution": user_result,
|
291
|
+
"finished": True,
|
292
|
+
}
|
293
|
+
)
|
294
|
+
finished = True
|
295
|
+
|
269
296
|
while not finished and iterations < self.max_iterations:
|
270
297
|
response = run_conversation(self.agent, int_chat)
|
271
298
|
if self.verbosity >= 1:
|
@@ -276,8 +303,11 @@ class VisionAgent(Agent):
|
|
276
303
|
# sometimes it gets stuck in a loop, so we force it to exit
|
277
304
|
if last_response == response:
|
278
305
|
response["let_user_respond"] = True
|
279
|
-
|
280
|
-
|
306
|
+
self.streaming_message(
|
307
|
+
{"role": "assistant", "error": "Stuck in loop"}
|
308
|
+
)
|
309
|
+
else:
|
310
|
+
self.streaming_message({"role": "assistant", "content": response})
|
281
311
|
|
282
312
|
if response["let_user_respond"]:
|
283
313
|
break
|
@@ -104,7 +104,7 @@ class Result:
|
|
104
104
|
latex: Optional[str] = None
|
105
105
|
json: Optional[Dict[str, Any]] = None
|
106
106
|
javascript: Optional[str] = None
|
107
|
-
|
107
|
+
artifact: Optional[str] = None
|
108
108
|
extra: Optional[Dict[str, Any]] = None
|
109
109
|
"Extra data that can be included. Not part of the standard types."
|
110
110
|
|
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.137 → vision_agent-0.2.139}/vision_agent/agent/vision_agent_coder_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
|