From 0328b3f4aaf3c6a47b0f44586627126b038b738d Mon Sep 17 00:00:00 2001 From: Jade Choghari Date: Wed, 11 Mar 2026 16:10:37 -0700 Subject: [PATCH] Update src/lerobot/data_processing/data_annotations/vlm_annotations.py Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Signed-off-by: Jade Choghari --- .../data_annotations/vlm_annotations.py | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/lerobot/data_processing/data_annotations/vlm_annotations.py b/src/lerobot/data_processing/data_annotations/vlm_annotations.py index abbf5b2c8..8498f587d 100644 --- a/src/lerobot/data_processing/data_annotations/vlm_annotations.py +++ b/src/lerobot/data_processing/data_annotations/vlm_annotations.py @@ -255,9 +255,15 @@ class Qwen2VL(BaseVLM): # Try to find JSON object in response match = re.search(r"\{.*\}", response, re.DOTALL) if match: - data = json.loads(match.group()) - skills_data = data.get("skills", []) - return [Skill.from_dict(s) for s in skills_data] + try: + data = json.loads(match.group()) + skills_data = data.get("skills", []) + return [Skill.from_dict(s) for s in skills_data] + except json.JSONDecodeError as e: + excerpt = response[:200] + raise ValueError( + f"Could not parse JSON from VLM response (fallback failed): {excerpt}..." + ) from e raise ValueError(f"Could not parse skills from response: {response[:200]}...")