Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
|
@@ -76,6 +76,9 @@ def safe_parse_json_from_text(text: str):
|
|
| 76 |
# -------------------------------
|
| 77 |
# TRUE CORE FUNCTION
|
| 78 |
# -------------------------------
|
|
|
|
|
|
|
|
|
|
| 79 |
def robot_watch_core(payload: Dict[str, Any]):
|
| 80 |
if isinstance(payload, str):
|
| 81 |
try:
|
|
@@ -103,7 +106,8 @@ Respond in STRICT JSON ONLY.
|
|
| 103 |
{
|
| 104 |
"description": "...",
|
| 105 |
"human": "...",
|
| 106 |
-
"environment": "..."
|
|
|
|
| 107 |
}
|
| 108 |
"""
|
| 109 |
|
|
@@ -121,7 +125,7 @@ Respond in STRICT JSON ONLY.
|
|
| 121 |
resp = client.chat.completions.create(
|
| 122 |
model=HF_VLM_MODEL,
|
| 123 |
messages=messages,
|
| 124 |
-
max_tokens=
|
| 125 |
temperature=0.1
|
| 126 |
)
|
| 127 |
except Exception as e:
|
|
@@ -137,6 +141,11 @@ Respond in STRICT JSON ONLY.
|
|
| 137 |
"message": "Invalid JSON returned"
|
| 138 |
}
|
| 139 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 140 |
return {
|
| 141 |
"status": "success",
|
| 142 |
"robot_id": robot_id,
|
|
@@ -145,10 +154,12 @@ Respond in STRICT JSON ONLY.
|
|
| 145 |
"description": parsed.get("description"),
|
| 146 |
"human": parsed.get("human"),
|
| 147 |
"environment": parsed.get("environment"),
|
|
|
|
| 148 |
"vlm_raw": vlm_output
|
| 149 |
}
|
| 150 |
|
| 151 |
|
|
|
|
| 152 |
# -------------------------------
|
| 153 |
# REGISTER MCP TOOL (wrapper)
|
| 154 |
# -------------------------------
|
|
|
|
| 76 |
# -------------------------------
|
| 77 |
# TRUE CORE FUNCTION
|
| 78 |
# -------------------------------
|
| 79 |
+
# -------------------------------
|
| 80 |
+
# TRUE CORE FUNCTION (with objects)
|
| 81 |
+
# -------------------------------
|
| 82 |
def robot_watch_core(payload: Dict[str, Any]):
|
| 83 |
if isinstance(payload, str):
|
| 84 |
try:
|
|
|
|
| 106 |
{
|
| 107 |
"description": "...",
|
| 108 |
"human": "...",
|
| 109 |
+
"environment": "...",
|
| 110 |
+
"objects": [] // list of detected objects
|
| 111 |
}
|
| 112 |
"""
|
| 113 |
|
|
|
|
| 125 |
resp = client.chat.completions.create(
|
| 126 |
model=HF_VLM_MODEL,
|
| 127 |
messages=messages,
|
| 128 |
+
max_tokens=500,
|
| 129 |
temperature=0.1
|
| 130 |
)
|
| 131 |
except Exception as e:
|
|
|
|
| 141 |
"message": "Invalid JSON returned"
|
| 142 |
}
|
| 143 |
|
| 144 |
+
# Ensure "objects" is a list
|
| 145 |
+
objects = parsed.get("objects", [])
|
| 146 |
+
if not isinstance(objects, list):
|
| 147 |
+
objects = []
|
| 148 |
+
|
| 149 |
return {
|
| 150 |
"status": "success",
|
| 151 |
"robot_id": robot_id,
|
|
|
|
| 154 |
"description": parsed.get("description"),
|
| 155 |
"human": parsed.get("human"),
|
| 156 |
"environment": parsed.get("environment"),
|
| 157 |
+
"objects": objects, # ← new field
|
| 158 |
"vlm_raw": vlm_output
|
| 159 |
}
|
| 160 |
|
| 161 |
|
| 162 |
+
|
| 163 |
# -------------------------------
|
| 164 |
# REGISTER MCP TOOL (wrapper)
|
| 165 |
# -------------------------------
|