chat-ui / src /lib /server /router /multimodal.ts
victor's picture
victor HF Staff
MCP: Image refs (#1987)
bec283e unverified
raw
history blame
928 Bytes
import { config } from "$lib/server/config";
import type { ProcessedModel } from "../models";
/**
* Returns the configured multimodal model when it exists and is valid.
* - Requires LLM_ROUTER_MULTIMODAL_MODEL to be set (id or name).
* - Ignores router aliases and non-multimodal models.
*/
export function findConfiguredMultimodalModel(
models: ProcessedModel[] | undefined
): ProcessedModel | undefined {
const preferredModelId = (config.LLM_ROUTER_MULTIMODAL_MODEL || "").trim();
if (!preferredModelId || !models?.length) return undefined;
return models.find(
(candidate) =>
(candidate.id === preferredModelId || candidate.name === preferredModelId) &&
!candidate.isRouter &&
candidate.multimodal
);
}
export function getConfiguredMultimodalModelId(
models: ProcessedModel[] | undefined
): string | undefined {
const model = findConfiguredMultimodalModel(models);
return model?.id ?? model?.name;
}