Spaces:
Paused
Paused
| 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 + ")") | |