vision-agent 0.2.237__tar.gz → 0.2.238__tar.gz

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.
Files changed (55) hide show
  1. {vision_agent-0.2.237 → vision_agent-0.2.238}/PKG-INFO +1 -2
  2. {vision_agent-0.2.237 → vision_agent-0.2.238}/pyproject.toml +1 -2
  3. vision_agent-0.2.237/vision_agent/configs/anthropic_openai_config.py → vision_agent-0.2.238/vision_agent/configs/config.py +17 -3
  4. {vision_agent-0.2.237 → vision_agent-0.2.238}/vision_agent/sim/__init__.py +1 -0
  5. {vision_agent-0.2.237 → vision_agent-0.2.238}/vision_agent/tools/planner_tools.py +21 -0
  6. {vision_agent-0.2.237 → vision_agent-0.2.238}/LICENSE +0 -0
  7. {vision_agent-0.2.237 → vision_agent-0.2.238}/README.md +0 -0
  8. {vision_agent-0.2.237 → vision_agent-0.2.238}/vision_agent/.sim_tools/df.csv +0 -0
  9. {vision_agent-0.2.237 → vision_agent-0.2.238}/vision_agent/.sim_tools/embs.npy +0 -0
  10. {vision_agent-0.2.237 → vision_agent-0.2.238}/vision_agent/__init__.py +0 -0
  11. {vision_agent-0.2.237 → vision_agent-0.2.238}/vision_agent/agent/README.md +0 -0
  12. {vision_agent-0.2.237 → vision_agent-0.2.238}/vision_agent/agent/__init__.py +0 -0
  13. {vision_agent-0.2.237 → vision_agent-0.2.238}/vision_agent/agent/agent.py +0 -0
  14. {vision_agent-0.2.237 → vision_agent-0.2.238}/vision_agent/agent/vision_agent.py +0 -0
  15. {vision_agent-0.2.237 → vision_agent-0.2.238}/vision_agent/agent/vision_agent_coder.py +0 -0
  16. {vision_agent-0.2.237 → vision_agent-0.2.238}/vision_agent/agent/vision_agent_coder_prompts.py +0 -0
  17. {vision_agent-0.2.237 → vision_agent-0.2.238}/vision_agent/agent/vision_agent_coder_prompts_v2.py +0 -0
  18. {vision_agent-0.2.237 → vision_agent-0.2.238}/vision_agent/agent/vision_agent_coder_v2.py +0 -0
  19. {vision_agent-0.2.237 → vision_agent-0.2.238}/vision_agent/agent/vision_agent_planner.py +0 -0
  20. {vision_agent-0.2.237 → vision_agent-0.2.238}/vision_agent/agent/vision_agent_planner_prompts.py +0 -0
  21. {vision_agent-0.2.237 → vision_agent-0.2.238}/vision_agent/agent/vision_agent_planner_prompts_v2.py +0 -0
  22. {vision_agent-0.2.237 → vision_agent-0.2.238}/vision_agent/agent/vision_agent_planner_v2.py +0 -0
  23. {vision_agent-0.2.237 → vision_agent-0.2.238}/vision_agent/agent/vision_agent_prompts.py +0 -0
  24. {vision_agent-0.2.237 → vision_agent-0.2.238}/vision_agent/agent/vision_agent_prompts_v2.py +0 -0
  25. {vision_agent-0.2.237 → vision_agent-0.2.238}/vision_agent/agent/vision_agent_v2.py +0 -0
  26. {vision_agent-0.2.237 → vision_agent-0.2.238}/vision_agent/clients/__init__.py +0 -0
  27. {vision_agent-0.2.237 → vision_agent-0.2.238}/vision_agent/clients/http.py +0 -0
  28. {vision_agent-0.2.237 → vision_agent-0.2.238}/vision_agent/clients/landing_public_api.py +0 -0
  29. {vision_agent-0.2.237 → vision_agent-0.2.238}/vision_agent/configs/__init__.py +0 -0
  30. {vision_agent-0.2.237 → vision_agent-0.2.238}/vision_agent/configs/anthropic_config.py +0 -0
  31. /vision_agent-0.2.237/vision_agent/configs/config.py → /vision_agent-0.2.238/vision_agent/configs/anthropic_openai_config.py +0 -0
  32. {vision_agent-0.2.237 → vision_agent-0.2.238}/vision_agent/configs/openai_config.py +0 -0
  33. {vision_agent-0.2.237 → vision_agent-0.2.238}/vision_agent/fonts/__init__.py +0 -0
  34. {vision_agent-0.2.237 → vision_agent-0.2.238}/vision_agent/fonts/default_font_ch_en.ttf +0 -0
  35. {vision_agent-0.2.237 → vision_agent-0.2.238}/vision_agent/lmm/__init__.py +0 -0
  36. {vision_agent-0.2.237 → vision_agent-0.2.238}/vision_agent/lmm/lmm.py +0 -0
  37. {vision_agent-0.2.237 → vision_agent-0.2.238}/vision_agent/models/__init__.py +0 -0
  38. {vision_agent-0.2.237 → vision_agent-0.2.238}/vision_agent/models/agent_types.py +0 -0
  39. {vision_agent-0.2.237 → vision_agent-0.2.238}/vision_agent/models/lmm_types.py +0 -0
  40. {vision_agent-0.2.237 → vision_agent-0.2.238}/vision_agent/models/tools_types.py +0 -0
  41. {vision_agent-0.2.237 → vision_agent-0.2.238}/vision_agent/sim/sim.py +0 -0
  42. {vision_agent-0.2.237 → vision_agent-0.2.238}/vision_agent/tools/__init__.py +0 -0
  43. {vision_agent-0.2.237 → vision_agent-0.2.238}/vision_agent/tools/meta_tools.py +0 -0
  44. {vision_agent-0.2.237 → vision_agent-0.2.238}/vision_agent/tools/prompts.py +0 -0
  45. {vision_agent-0.2.237 → vision_agent-0.2.238}/vision_agent/tools/tools.py +0 -0
  46. {vision_agent-0.2.237 → vision_agent-0.2.238}/vision_agent/utils/__init__.py +0 -0
  47. {vision_agent-0.2.237 → vision_agent-0.2.238}/vision_agent/utils/agent.py +0 -0
  48. {vision_agent-0.2.237 → vision_agent-0.2.238}/vision_agent/utils/exceptions.py +0 -0
  49. {vision_agent-0.2.237 → vision_agent-0.2.238}/vision_agent/utils/execute.py +0 -0
  50. {vision_agent-0.2.237 → vision_agent-0.2.238}/vision_agent/utils/image_utils.py +0 -0
  51. {vision_agent-0.2.237 → vision_agent-0.2.238}/vision_agent/utils/tools.py +0 -0
  52. {vision_agent-0.2.237 → vision_agent-0.2.238}/vision_agent/utils/tools_doc.py +0 -0
  53. {vision_agent-0.2.237 → vision_agent-0.2.238}/vision_agent/utils/type_defs.py +0 -0
  54. {vision_agent-0.2.237 → vision_agent-0.2.238}/vision_agent/utils/video.py +0 -0
  55. {vision_agent-0.2.237 → vision_agent-0.2.238}/vision_agent/utils/video_tracking.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: vision-agent
3
- Version: 0.2.237
3
+ Version: 0.2.238
4
4
  Summary: Toolset for Vision Agent
5
5
  Author: Landing AI
6
6
  Author-email: dev@landing.ai
@@ -15,7 +15,6 @@ Requires-Dist: e2b (>=0.17.2a50,<0.18.0)
15
15
  Requires-Dist: e2b-code-interpreter (==0.0.11a37)
16
16
  Requires-Dist: flake8 (>=7.0.0,<8.0.0)
17
17
  Requires-Dist: ipykernel (>=6.29.4,<7.0.0)
18
- Requires-Dist: langsmith (>=0.1.58,<0.2.0)
19
18
  Requires-Dist: libcst (>=1.5.0,<2.0.0)
20
19
  Requires-Dist: matplotlib (>=3.9.2,<4.0.0)
21
20
  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.237"
7
+ version = "0.2.238"
8
8
  description = "Toolset for Vision Agent"
9
9
  authors = ["Landing AI <dev@landing.ai>"]
10
10
  readme = "README.md"
@@ -34,7 +34,6 @@ scipy = "1.13.*"
34
34
  nbclient = "^0.10.0"
35
35
  nbformat = "^5.10.4"
36
36
  rich = "^13.7.1"
37
- langsmith = "^0.1.58"
38
37
  ipykernel = "^6.29.4"
39
38
  e2b = "^0.17.2a50"
40
39
  e2b-code-interpreter = "0.0.11a37"
@@ -96,13 +96,24 @@ class Config(BaseModel):
96
96
  }
97
97
  )
98
98
 
99
+ # for get_tool_for_task
100
+ od_judge: Type[LMM] = Field(default=AnthropicLMM)
101
+ od_judge_kwargs: dict = Field(
102
+ default_factory=lambda: {
103
+ "model_name": "claude-3-5-sonnet-20241022",
104
+ "temperature": 0.0,
105
+ "image_size": 512,
106
+ }
107
+ )
108
+
99
109
  # for suggestions module
100
- suggester: Type[LMM] = Field(default=AnthropicLMM)
110
+ suggester: Type[LMM] = Field(default=OpenAILMM)
101
111
  suggester_kwargs: dict = Field(
102
112
  default_factory=lambda: {
103
- "model_name": "claude-3-5-sonnet-20241022",
113
+ "model_name": "o1",
104
114
  "temperature": 1.0,
105
- "image_size": 768,
115
+ "image_detail": "high",
116
+ "image_size": 1024,
106
117
  }
107
118
  )
108
119
 
@@ -143,6 +154,9 @@ class Config(BaseModel):
143
154
  def create_tool_chooser(self) -> LMM:
144
155
  return self.tool_chooser(**self.tool_chooser_kwargs)
145
156
 
157
+ def create_od_judge(self) -> LMM:
158
+ return self.od_judge(**self.od_judge_kwargs)
159
+
146
160
  def create_suggester(self) -> LMM:
147
161
  return self.suggester(**self.suggester_kwargs)
148
162
 
@@ -2,6 +2,7 @@ from .sim import (
2
2
  AzureSim,
3
3
  OllamaSim,
4
4
  Sim,
5
+ StellaSim,
5
6
  get_tool_recommender,
6
7
  load_cached_sim,
7
8
  load_sim,
@@ -368,6 +368,15 @@ def get_tool_for_task(
368
368
  tool_tester = CONFIG.create_tool_tester()
369
369
  tool_chooser = CONFIG.create_tool_chooser()
370
370
 
371
+ if isinstance(images, list):
372
+ if len(images) > 0 and isinstance(images[0], dict):
373
+ if all(["frame" in image for image in images]):
374
+ images = [image["frame"] for image in images]
375
+ else:
376
+ raise ValueError(
377
+ f"Expected a list of numpy arrays or a dictionary of strings to lists of numpy arrays, got a list of dictionaries instead: {images}"
378
+ )
379
+
371
380
  if isinstance(images, list):
372
381
  images = {"image": images}
373
382
 
@@ -410,6 +419,15 @@ def get_tool_for_task_human_reviewer(
410
419
  # NOTE: this will have the same documentation as get_tool_for_task
411
420
  tool_tester = CONFIG.create_tool_tester()
412
421
 
422
+ if isinstance(images, list):
423
+ if len(images) > 0 and isinstance(images[0], dict):
424
+ if all(["frame" in image for image in images]):
425
+ images = [image["frame"] for image in images]
426
+ else:
427
+ raise ValueError(
428
+ f"Expected a list of numpy arrays or a dictionary of strings to lists of numpy arrays, got a list of dictionaries instead: {images}"
429
+ )
430
+
413
431
  if isinstance(images, list):
414
432
  images = {"image": images}
415
433
 
@@ -424,6 +442,9 @@ def get_tool_for_task_human_reviewer(
424
442
  Image.fromarray(image).save(image_path)
425
443
  image_paths.append(image_path)
426
444
 
445
+ # run no more than 3 images or else it overloads the LLM
446
+ image_paths = image_paths[:3]
447
+
427
448
  tools = [
428
449
  t.__name__
429
450
  for t in get_tools()
File without changes
File without changes