From e02b20708e24a624210f5e9c99e016b889e4b7ea Mon Sep 17 00:00:00 2001 From: yuj Date: Mon, 27 Apr 2026 12:10:52 +0800 Subject: [PATCH] fix: include user-defined LLM families in _resolve_architectures The _resolve_architectures method only looked up architectures from BUILTIN_LLM_FAMILIES, which caused custom-registered models with a model_family pointing to a user-defined model to fail architecture resolution. Now combines both builtin and user-defined families. Co-Authored-By: Claude Opus 4.7 --- xinference/model/llm/llm_family.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/xinference/model/llm/llm_family.py b/xinference/model/llm/llm_family.py index ef7107f5ef..7641f55f60 100644 --- a/xinference/model/llm/llm_family.py +++ b/xinference/model/llm/llm_family.py @@ -165,9 +165,13 @@ def _resolve_architectures(self) -> Optional[List[str]]: return self.architectures if not self.model_family: return None - for family in BUILTIN_LLM_FAMILIES: - if family.model_name == self.model_family: - return family.architectures + from .custom import get_user_defined_llm_families + + user_defined = {f.model_name: f for f in get_user_defined_llm_families()} + all_families = {f.model_name: f for f in BUILTIN_LLM_FAMILIES} + all_families.update(user_defined) + if self.model_family in all_families: + return all_families[self.model_family].architectures return None def has_architecture(self, *architectures: str) -> bool: