| from __future__ import annotations |
|
|
| import argparse |
| from pathlib import Path |
|
|
| import bootstrap |
|
|
| from signspeak.llm import generate_subtitle_and_instruction |
| from signspeak.pipeline import DEFAULT_INTENT, json_text |
|
|
|
|
| def main() -> None: |
| parser = argparse.ArgumentParser(description="Run only the llama.cpp intent-to-text brick.") |
| parser.add_argument("--intent", help="Path to an intent JSON file. Uses the sample intent if omitted.") |
| args = parser.parse_args() |
|
|
| intent_json = Path(args.intent).read_text(encoding="utf-8") if args.intent else json_text(DEFAULT_INTENT) |
| subtitle, instruction, raw = generate_subtitle_and_instruction(intent_json) |
| print(f"Subtitle: {subtitle}") |
| print(f"Voice instruction: {instruction}") |
| print(f"Structured output: {raw}") |
|
|
|
|
| if __name__ == "__main__": |
| main() |
|
|