diff --git a/src/service/aios_shell/local_compute_node_builder/local_llama_node_builder.py b/src/service/aios_shell/local_compute_node_builder/local_llama_node_builder.py index 690242b..163d6de 100644 --- a/src/service/aios_shell/local_compute_node_builder/local_llama_node_builder.py +++ b/src/service/aios_shell/local_compute_node_builder/local_llama_node_builder.py @@ -10,10 +10,10 @@ from prompt_toolkit.formatted_text import FormattedText from aios.storage.storage import AIStorage from aios import ComputeKernel from component.llama_node.local_llama_compute_node import LocalLlama_ComputeNode -from service.aios_shell.compute_node_config import ComputeNodeConfig +from compute_node_config import ComputeNodeConfig from .local_compute_node_builder import BuildParameter, BuilderState, LocalComputeNodeBuilder, ParameterApplier -class BuildParameterModelPath: +class BuildParameterModelPath(ParameterApplier): async def apply(self, state: BuilderState, name: str, value: str or None = None) -> str or None: if value: if os.path.exists(value): @@ -24,7 +24,7 @@ class BuildParameterModelPath: state.next_step += 1 -class BuildParameterModelUrl: +class BuildParameterModelUrl(ParameterApplier): async def apply(self, state: BuilderState, name: str, value: str or None = None) -> str or None: if value is None: value = "1" @@ -61,13 +61,13 @@ class BuildParameterModelUrl: except Exception as e: print_formatted_text(FormattedText([("class:error", f"Download model failed: {e}\nYou can retry it or select another one.")]), style = state.shell_style) -class ParameterNodeNameApplier: +class ParameterNodeNameApplier(ParameterApplier): async def apply(self, state: BuilderState, name: str, value: str or None = None) -> str or None: value = value or os.path.basename(state.params["model_path"]) state.params["node_name"] = value state.next_step += 1 -class ParameterPortApplier: +class ParameterPortApplier(ParameterApplier): async def apply(self, state: BuilderState, name: str, value: str or None = None) -> str or None: if value is None or value == "0" or value == "": value = str(random.randint(10000, 60000)) @@ -75,25 +75,25 @@ class ParameterPortApplier: state.params["port"] = value state.next_step += 1 -class ParameterNGpuLayersApplier: +class ParameterNGpuLayersApplier(ParameterApplier): async def apply(self, state: BuilderState, name: str, value: str or None = None) -> str or None: value = value or "83" state.params["n_gpu_layers"] = value state.next_step += 1 -class ParameterNCtxApplier: +class ParameterNCtxApplier(ParameterApplier): async def apply(self, state: BuilderState, name: str, value: str or None = None) -> str or None: value = value or "4096" state.params["n_ctx"] = value state.next_step += 1 -class ParameterChatFormatApplier: +class ParameterChatFormatApplier(ParameterApplier): async def apply(self, state: BuilderState, name: str, value: str or None = None) -> str or None: value = value or "llama-2" state.params["chat_format"] = value state.next_step += 1 -class ParameterExternParamsApplier: +class ParameterExternParamsApplier(ParameterApplier): async def apply(self, state: BuilderState, name: str, value: str or None = None) -> str or None: extern_params = value docker_image = ""