diff --git a/py/routes/handlers/model_handlers.py b/py/routes/handlers/model_handlers.py index 7cb9cd6e..59bd5c78 100644 --- a/py/routes/handlers/model_handlers.py +++ b/py/routes/handlers/model_handlers.py @@ -648,7 +648,7 @@ class ModelQueryHandler: async def get_top_tags(self, request: web.Request) -> web.Response: try: limit = int(request.query.get("limit", "20")) - if limit < 1 or limit > 100: + if limit < 0: limit = 20 top_tags = await self._service.get_top_tags(limit) return web.json_response({"success": True, "tags": top_tags}) diff --git a/py/services/model_scanner.py b/py/services/model_scanner.py index 6a99debd..fc0e6ec2 100644 --- a/py/services/model_scanner.py +++ b/py/services/model_scanner.py @@ -1448,7 +1448,7 @@ class ModelScanner: return None async def get_top_tags(self, limit: int = 20) -> List[Dict[str, any]]: - """Get top tags sorted by count""" + """Get top tags sorted by count. If limit is 0, return all tags.""" await self.get_cached_data() sorted_tags = sorted( @@ -1457,6 +1457,8 @@ class ModelScanner: reverse=True ) + if limit == 0: + return sorted_tags return sorted_tags[:limit] async def get_base_models(self, limit: int = 20) -> List[Dict[str, any]]: diff --git a/vue-widgets/src/components/lora-pool/modals/TagsModal.vue b/vue-widgets/src/components/lora-pool/modals/TagsModal.vue index 700a2835..370defee 100644 --- a/vue-widgets/src/components/lora-pool/modals/TagsModal.vue +++ b/vue-widgets/src/components/lora-pool/modals/TagsModal.vue @@ -31,9 +31,9 @@ -
{{ subtitle }}
\n{{ subtitle }}
\n