vision-agent 0.2.73__tar.gz → 0.2.75__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 (23) hide show
  1. {vision_agent-0.2.73 → vision_agent-0.2.75}/PKG-INFO +3 -3
  2. {vision_agent-0.2.73 → vision_agent-0.2.75}/README.md +2 -2
  3. {vision_agent-0.2.73 → vision_agent-0.2.75}/pyproject.toml +1 -1
  4. {vision_agent-0.2.73 → vision_agent-0.2.75}/vision_agent/agent/vision_agent.py +1 -1
  5. {vision_agent-0.2.73 → vision_agent-0.2.75}/vision_agent/lmm/lmm.py +5 -2
  6. {vision_agent-0.2.73 → vision_agent-0.2.75}/LICENSE +0 -0
  7. {vision_agent-0.2.73 → vision_agent-0.2.75}/vision_agent/__init__.py +0 -0
  8. {vision_agent-0.2.73 → vision_agent-0.2.75}/vision_agent/agent/__init__.py +0 -0
  9. {vision_agent-0.2.73 → vision_agent-0.2.75}/vision_agent/agent/agent.py +0 -0
  10. {vision_agent-0.2.73 → vision_agent-0.2.75}/vision_agent/agent/vision_agent_prompts.py +0 -0
  11. {vision_agent-0.2.73 → vision_agent-0.2.75}/vision_agent/fonts/__init__.py +0 -0
  12. {vision_agent-0.2.73 → vision_agent-0.2.75}/vision_agent/fonts/default_font_ch_en.ttf +0 -0
  13. {vision_agent-0.2.73 → vision_agent-0.2.75}/vision_agent/lmm/__init__.py +0 -0
  14. {vision_agent-0.2.73 → vision_agent-0.2.75}/vision_agent/tools/__init__.py +0 -0
  15. {vision_agent-0.2.73 → vision_agent-0.2.75}/vision_agent/tools/prompts.py +0 -0
  16. {vision_agent-0.2.73 → vision_agent-0.2.75}/vision_agent/tools/tool_utils.py +0 -0
  17. {vision_agent-0.2.73 → vision_agent-0.2.75}/vision_agent/tools/tools.py +0 -0
  18. {vision_agent-0.2.73 → vision_agent-0.2.75}/vision_agent/utils/__init__.py +0 -0
  19. {vision_agent-0.2.73 → vision_agent-0.2.75}/vision_agent/utils/execute.py +0 -0
  20. {vision_agent-0.2.73 → vision_agent-0.2.75}/vision_agent/utils/image_utils.py +0 -0
  21. {vision_agent-0.2.73 → vision_agent-0.2.75}/vision_agent/utils/sim.py +0 -0
  22. {vision_agent-0.2.73 → vision_agent-0.2.75}/vision_agent/utils/type_defs.py +0 -0
  23. {vision_agent-0.2.73 → vision_agent-0.2.75}/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.73
3
+ Version: 0.2.75
4
4
  Summary: Toolset for Vision Agent
5
5
  Author: Landing AI
6
6
  Author-email: dev@landing.ai
@@ -182,8 +182,8 @@ you. For example:
182
182
 
183
183
  ```python
184
184
  >>> import vision_agent as va
185
- >>> llm = va.llm.OpenAILMM()
186
- >>> detector = llm.generate_detector("Can you build a jar detector for me?")
185
+ >>> lmm = va.lmm.OpenAILMM()
186
+ >>> detector = lmm.generate_detector("Can you build a jar detector for me?")
187
187
  >>> detector(va.tools.load_image("jar.jpg"))
188
188
  [{"labels": ["jar",],
189
189
  "scores": [0.99],
@@ -145,8 +145,8 @@ you. For example:
145
145
 
146
146
  ```python
147
147
  >>> import vision_agent as va
148
- >>> llm = va.llm.OpenAILMM()
149
- >>> detector = llm.generate_detector("Can you build a jar detector for me?")
148
+ >>> lmm = va.lmm.OpenAILMM()
149
+ >>> detector = lmm.generate_detector("Can you build a jar detector for me?")
150
150
  >>> detector(va.tools.load_image("jar.jpg"))
151
151
  [{"labels": ["jar",],
152
152
  "scores": [0.99],
@@ -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.73"
7
+ version = "0.2.75"
8
8
  description = "Toolset for Vision Agent"
9
9
  authors = ["Landing AI <dev@landing.ai>"]
10
10
  readme = "README.md"
@@ -437,7 +437,7 @@ def retrieve_tools(
437
437
  {
438
438
  "type": "tools",
439
439
  "status": "completed",
440
- "payload": {v["description"]: v for v in tool_list}.values(),
440
+ "payload": list({v["description"]: v for v in tool_list}.values()),
441
441
  }
442
442
  )
443
443
 
@@ -164,6 +164,7 @@ class OpenAILMM(LMM):
164
164
  {"role": "system", "content": SYSTEM_PROMPT},
165
165
  {"role": "user", "content": prompt},
166
166
  ],
167
+ response_format={"type": "json_object"},
167
168
  )
168
169
 
169
170
  try:
@@ -179,7 +180,7 @@ class OpenAILMM(LMM):
179
180
  return lambda x: T.clip(x, params["prompt"])
180
181
 
181
182
  def generate_detector(self, question: str) -> Callable:
182
- api_doc = T.get_tool_documentation([T.grounding_dino])
183
+ api_doc = T.get_tool_documentation([T.owl_v2])
183
184
  prompt = CHOOSE_PARAMS.format(api_doc=api_doc, question=question)
184
185
  response = self.client.chat.completions.create(
185
186
  model=self.model_name,
@@ -187,6 +188,7 @@ class OpenAILMM(LMM):
187
188
  {"role": "system", "content": SYSTEM_PROMPT},
188
189
  {"role": "user", "content": prompt},
189
190
  ],
191
+ response_format={"type": "json_object"},
190
192
  )
191
193
 
192
194
  try:
@@ -199,7 +201,7 @@ class OpenAILMM(LMM):
199
201
  )
200
202
  raise ValueError("Failed to decode response")
201
203
 
202
- return lambda x: T.grounding_dino(params["prompt"], x)
204
+ return lambda x: T.owl_v2(params["prompt"], x)
203
205
 
204
206
  def generate_segmentor(self, question: str) -> Callable:
205
207
  api_doc = T.get_tool_documentation([T.grounding_sam])
@@ -210,6 +212,7 @@ class OpenAILMM(LMM):
210
212
  {"role": "system", "content": SYSTEM_PROMPT},
211
213
  {"role": "user", "content": prompt},
212
214
  ],
215
+ response_format={"type": "json_object"},
213
216
  )
214
217
 
215
218
  try:
File without changes