mirror of
https://github.com/HKUDS/OpenSpace.git
synced 2026-09-11 22:51:05 +00:00
Merge 2dba6a2916 into 79a98abda7
This commit is contained in:
commit
fc63dc3703
4 changed files with 37 additions and 9 deletions
|
|
@ -121,9 +121,25 @@ def generate_embedding(text: str, api_key: Optional[str] = None) -> Optional[Lis
|
|||
method="POST",
|
||||
)
|
||||
try:
|
||||
with urllib.request.urlopen(req, timeout=15) as resp:
|
||||
data = json.loads(resp.read().decode("utf-8"))
|
||||
return data.get("data", [{}])[0].get("embedding")
|
||||
except Exception as e:
|
||||
logger.warning("Embedding generation failed: %s", e)
|
||||
return None
|
||||
with urllib.request.urlopen(req, timeout=15) as resp:
|
||||
data = json.loads(resp.read().decode("utf-8"))
|
||||
|
||||
# 验证 API 响应结构
|
||||
data_list = data.get("data")
|
||||
if not data_list or not isinstance(data_list, list) or len(data_list) == 0:
|
||||
logger.warning("Embedding API response missing or invalid 'data' array")
|
||||
return None
|
||||
|
||||
embedding = data_list[0].get("embedding")
|
||||
if not embedding:
|
||||
logger.warning("Embedding API response missing 'embedding' field")
|
||||
return None
|
||||
|
||||
return embedding
|
||||
except urllib.error.HTTPError as e:
|
||||
logger.warning(f"Embedding API HTTP error: {e.code} {e.reason}")
|
||||
return None
|
||||
except Exception as e:
|
||||
logger.warning("Embedding generation failed: %s", e)
|
||||
return None
|
||||
|
||||
|
|
|
|||
|
|
@ -777,8 +777,8 @@ class LLMClient:
|
|||
|
||||
args_str = json.dumps(args, ensure_ascii=False)[:200]
|
||||
self._logger.info(f"Calling {tool_name} with args: {args_str}")
|
||||
except:
|
||||
pass
|
||||
except (json.JSONDecodeError, ValueError, TypeError) as e:
|
||||
self._logger.debug(f"Failed to parse tool arguments for {tool_name}: {e}")
|
||||
|
||||
if tool_obj is None:
|
||||
if ambiguous_tool_names:
|
||||
|
|
|
|||
|
|
@ -340,7 +340,17 @@ class SkillRanker:
|
|||
try:
|
||||
with urllib.request.urlopen(req, timeout=15) as resp:
|
||||
data = json.loads(resp.read().decode("utf-8"))
|
||||
return data.get("data", [{}])[0].get("embedding")
|
||||
|
||||
data_list = data.get("data")
|
||||
if not data_list or not isinstance(data_list, list):
|
||||
logger.warning(f"Invalid embedding API response: missing 'data' array")
|
||||
return None
|
||||
|
||||
embedding = data_list[0].get("embedding")
|
||||
if not embedding:
|
||||
logger.warning("Embedding API response missing 'embedding' field in first result")
|
||||
return None
|
||||
return embedding
|
||||
except Exception as e:
|
||||
last_err = e
|
||||
if attempt < 2:
|
||||
|
|
|
|||
|
|
@ -355,8 +355,10 @@ class OpenSpace:
|
|||
self._running = True
|
||||
self._task_done.clear()
|
||||
self._last_evolved_skills = [] # Reset per-execution tracking
|
||||
start_time = asyncio.get_running_loop().time()
|
||||
self._capture_skill_dir = capture_skill_dir
|
||||
start_time = asyncio.get_event_loop().time()
|
||||
|
||||
# Use external task_id if provided, otherwise generate one
|
||||
if task_id is None:
|
||||
task_id = f"task_{uuid.uuid4().hex[:12]}"
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue