Added initial progress on textInference
This commit is contained in:
@@ -0,0 +1,73 @@
|
||||
class RunwareTextModelSearch:
|
||||
"""Text model search node: pick or type a text/chat AIR model for Runware Text Inference."""
|
||||
|
||||
TEXT_MODELS = {
|
||||
"MiniMax": [
|
||||
"minimax:m2.7@0 (MiniMax-M2.7)",
|
||||
"minimax:m2.7@highspeed (MiniMax-M2.7 Highspeed)",
|
||||
"minimax:m2.5@0 (MiniMax-M2.5)",
|
||||
],
|
||||
}
|
||||
|
||||
MODEL_PROVIDERS = [
|
||||
"All",
|
||||
"MiniMax",
|
||||
]
|
||||
|
||||
@classmethod
|
||||
def INPUT_TYPES(cls):
|
||||
all_models = cls._get_all_models()
|
||||
default_model = "minimax:m2.7@0 (MiniMax-M2.7)"
|
||||
|
||||
return {
|
||||
"required": {
|
||||
"Model Search": ("STRING", {
|
||||
"tooltip": "Search or type a text model AIR code (e.g. minimax:m2.7@0). Used when 'Use Search Value' is enabled.",
|
||||
}),
|
||||
"Model Provider": (cls.MODEL_PROVIDERS, {
|
||||
"tooltip": "Filter the model list by provider.",
|
||||
"default": "MiniMax",
|
||||
}),
|
||||
"TextList": (all_models, {
|
||||
"tooltip": "Choose a model from the filtered list (AIR code is taken before the first space).",
|
||||
"default": default_model,
|
||||
}),
|
||||
"Use Search Value": ("BOOLEAN", {
|
||||
"tooltip": "When enabled, 'Model Search' is used as the model AIR instead of the selection in TextList.",
|
||||
"default": False,
|
||||
"label_on": "Enabled",
|
||||
"label_off": "Disabled",
|
||||
}),
|
||||
}
|
||||
}
|
||||
|
||||
@classmethod
|
||||
def _get_all_models(cls):
|
||||
all_models = []
|
||||
for models in cls.TEXT_MODELS.values():
|
||||
all_models.extend(models)
|
||||
return all_models
|
||||
|
||||
RETURN_TYPES = ("RUNWARETEXTMODEL",)
|
||||
RETURN_NAMES = ("model",)
|
||||
FUNCTION = "searchModels"
|
||||
CATEGORY = "Runware"
|
||||
DESCRIPTION = "Search and select text/chat models for Runware Text Inference."
|
||||
|
||||
@classmethod
|
||||
def VALIDATE_INPUTS(cls, TextList):
|
||||
return True
|
||||
|
||||
def searchModels(self, **kwargs):
|
||||
use_search = kwargs.get("Use Search Value", False)
|
||||
search_input = (kwargs.get("Model Search") or "").strip()
|
||||
|
||||
if use_search:
|
||||
if not search_input:
|
||||
raise Exception("Use Search Value is enabled but Model Search is empty.")
|
||||
model_air = search_input
|
||||
else:
|
||||
current = kwargs.get("TextList")
|
||||
model_air = current.split(" (")[0] if current else ""
|
||||
|
||||
return (model_air,)
|
||||
Reference in New Issue
Block a user