SLE-V2.1-Omega12K-LX / edge_host.py
OkeyMeta's picture
Release SLE-V2.1-Omega12K-LX
281dacc verified
Raw History Blame Contribute Delete
2.88 kB
# SLE edge host boundary.
# This file forwards payloads to the shipped Saccadic runtime; intelligence stays in model.cra.
from __future__ import annotations
import json
import subprocess
import sys
from pathlib import Path
RUNTIME_NAME = "sle_spark.py"
def _sequence(value):
if value is None:
return ()
if isinstance(value, str):
return (value,)
return tuple(value)
def _append_optional(args, payload, key, flag):
value = payload.get(key)
if value is not None:
args.extend((flag, str(value)))
def _run_artifact_args(payload):
mode = str(payload.get('mode', 'response'))
args = ['run-artifact', '--artifact', 'model.cra', '--mode', mode]
if mode == 'acoustic':
args.extend(('--audio-samples', json.dumps(payload.get('audio_samples', []))))
else:
args.extend(('--text', str(payload.get('text', ''))))
for tool in _sequence(payload.get('host_tools', payload.get('host_tool'))):
args.extend(('--host-tool', str(tool)))
if payload.get('avoid_replay'):
args.append('--avoid-replay')
for text in _sequence(payload.get('avoid_texts')):
args.extend(('--avoid-text', str(text)))
if payload.get('compose_speech'):
args.append('--compose-speech')
if payload.get('prefer_composed'):
args.append('--prefer-composed')
if payload.get('canonicalize_stream'):
args.append('--canonicalize-stream')
if payload.get('recover_on_failure'):
args.append('--recover-on-failure')
_append_optional(args, payload, 'audio_symbol_score_floor', '--audio-symbol-score-floor')
_append_optional(args, payload, 'diverse_speech_limit', '--diverse-speech-limit')
_append_optional(args, payload, 'turns', '--turns')
_append_optional(args, payload, 'punctuation_floor', '--punctuation-floor')
_append_optional(args, payload, 'output_artifact', '--output-artifact')
_append_optional(args, payload, 'dt', '--dt')
_append_optional(args, payload, 'max_speech_steps', '--max-speech-steps')
return args
def _runtime_command(args):
runtime = Path(__file__).resolve().with_name(RUNTIME_NAME)
if runtime.is_file():
if runtime.suffix.lower() == '.py':
return [sys.executable, str(runtime), *args]
return [str(runtime), *args]
return [sys.executable, '-m', 'sle.cli', *args]
def main() -> int:
payload = json.loads(sys.stdin.read() or '{}')
completed = subprocess.run(
_runtime_command(_run_artifact_args(payload)),
check=False,
text=True,
capture_output=True,
)
sys.stdout.write(completed.stdout)
if completed.stderr:
sys.stderr.write(completed.stderr)
return int(completed.returncode)
if __name__ == '__main__':
raise SystemExit(main())