from huggingface_hub import HfApi api = HfApi() def find_public_chat_models(limit=50, scan_limit=2000, owners=None): """Return public chat-capable models optionally filtered by owner organizations. - `owners` can be an iterable of owner names (e.g., ['google','qwen']). """ allowed_owners = set(o.lower() for o in owners) if owners else None found = [] for m in api.list_models(pipeline_tag="text-generation", limit=scan_limit): if getattr(m, "private", False): continue # Extract owner from modelId (format: owner/model_name) model_id = m.modelId or "" owner = model_id.split('/', 1)[0] if '/' in model_id else None if allowed_owners and (owner is None or owner.lower() not in allowed_owners): continue tags = getattr(m, "tags", []) or [] if any(t in ("chat", "conversational", "instruct", "instruction-following") for t in tags): found.append((m.modelId, owner, tags)) if len(found) >= limit: break return found # Only show models owned by 'google' or 'qwen' for model_id, owner, tags in find_public_chat_models(limit=10, owners=["google"]): #print("---") #print(model_id, "(owner:", owner + ")", tags) print(model_id, "(owner:", owner + ")")