Skip to content

Commit f134a3e

Browse files
committed
fix: improve error handling for multimodal model routing
1 parent 54578d7 commit f134a3e

File tree

1 file changed

+22
-17
lines changed

1 file changed

+22
-17
lines changed

src/lib/server/router/endpoint.ts

Lines changed: 22 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -102,23 +102,28 @@ export async function makeRouterEndpoint(routerModel: ProcessedModel): Promise<E
102102

103103
if (routerMultimodalEnabled && hasImageInput) {
104104
const multimodalCandidate = await findFirstMultimodalCandidateId();
105-
if (multimodalCandidate) {
106-
try {
107-
logger.info(
108-
{ route: ROUTER_MULTIMODAL_ROUTE, model: multimodalCandidate },
109-
"[router] multimodal input detected; bypassing Arch selection"
110-
);
111-
const ep = await createCandidateEndpoint(multimodalCandidate);
112-
const gen = await ep({ ...params });
113-
return metadataThenStream(gen, multimodalCandidate, ROUTER_MULTIMODAL_ROUTE);
114-
} catch (e) {
115-
logger.warn(
116-
{ route: ROUTER_MULTIMODAL_ROUTE, model: multimodalCandidate, err: String(e) },
117-
"[router] multimodal fallback failed"
118-
);
119-
}
120-
} else {
121-
logger.warn("[router] multimodal input detected but no multimodal model available");
105+
if (!multimodalCandidate) {
106+
throw new Error(
107+
"No multimodal models are configured for the router. Remove the image or enable a multimodal model."
108+
);
109+
}
110+
111+
try {
112+
logger.info(
113+
{ route: ROUTER_MULTIMODAL_ROUTE, model: multimodalCandidate },
114+
"[router] multimodal input detected; bypassing Arch selection"
115+
);
116+
const ep = await createCandidateEndpoint(multimodalCandidate);
117+
const gen = await ep({ ...params });
118+
return metadataThenStream(gen, multimodalCandidate, ROUTER_MULTIMODAL_ROUTE);
119+
} catch (e) {
120+
logger.error(
121+
{ route: ROUTER_MULTIMODAL_ROUTE, model: multimodalCandidate, err: String(e) },
122+
"[router] multimodal fallback failed"
123+
);
124+
throw new Error(
125+
"Failed to call the configured multimodal model. Remove the image or try again later."
126+
);
122127
}
123128
}
124129

0 commit comments

Comments
 (0)