HKUDS/DeepTutor · error · ValueError
urls must be a list of strings.
Error message
urls must be a list of strings.
What it means
Error "urls must be a list of strings." thrown in HKUDS/DeepTutor.
Source
Thrown at deeptutor/capabilities/ima/tools.py:428
if not raw:
return ()
return tuple(item for item in raw if isinstance(item, ImaBinding))
def _no_binding_message(bindings: tuple[ImaBinding, ...]) -> str:
if not bindings:
return "No Tencent IMA knowledge base is attached to this turn; IMA tools are unavailable."
names = ", ".join(binding.name for binding in bindings)
return f"Specify which IMA knowledge base to use with kb_name. Attached: {names}."
def _string_list(value: Any) -> list[str]:
if isinstance(value, str):
candidates = [value]
elif isinstance(value, (list, tuple)):
candidates = [str(item) for item in value]
else:
raise ValueError("urls must be a list of strings.")
urls = [item.strip() for item in candidates if str(item).strip()]
if not urls:
raise ValueError("At least one URL is required.")
return urls
# IMA's API refuses these; failing locally keeps the model from reporting a
# confusing upstream error for something that was never going to work.
_UNSUPPORTED_URL_MARKERS: tuple[str, ...] = (
"bilibili.com/video/",
"youtube.com/watch",
"youtu.be/",
)
def _is_supported_url(url: str) -> bool:
lowered = url.lower()
if not lowered.startswith(("http://", "https://")):View on GitHub (pinned to 3e82f13042)
When it happens
Trigger: Thrown at deeptutor/capabilities/ima/tools.py:428 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of HKUDS/DeepTutor@3e82f13042 (2026-08-27).
Data as JSON: /api/errors/d552833e7448f7df.
Report an issue: GitHub.