Spaces:
Runtime error
Runtime error
| """Text-only demo (no Gradio): agent reply on stdout; use -v for diagnostics on stderr.""" | |
| from __future__ import annotations | |
| import argparse | |
| import logging | |
| import sys | |
| from voice_agent.pipeline import run_text_turn | |
| from voice_agent.tts_module import speak_local | |
| logger = logging.getLogger(__name__) | |
| def main() -> None: | |
| p = argparse.ArgumentParser(description="Admissions assistant — typed input, STT skipped.") | |
| p.add_argument("question", nargs="*", help="Question (or pass via stdin)") | |
| p.add_argument( | |
| "-v", | |
| "--verbose", | |
| action="store_true", | |
| help="INFO logging and transcript / confidence / similarity on stderr", | |
| ) | |
| p.add_argument("--speak", action="store_true", help="Also play TTS on local speakers (pyttsx3)") | |
| args = p.parse_args() | |
| logging.basicConfig( | |
| level=logging.INFO if args.verbose else logging.WARNING, | |
| format="%(levelname)s:%(name)s:%(message)s", | |
| force=True, | |
| ) | |
| text = " ".join(args.question).strip() | |
| if not text: | |
| text = input("Your question: ").strip() | |
| try: | |
| r = run_text_turn(text) | |
| except Exception as e: | |
| logger.exception("Pipeline raised unexpectedly") | |
| print(e, file=sys.stderr) | |
| sys.exit(1) | |
| if not r.ok: | |
| print(r.error or "Unknown failure", file=sys.stderr) | |
| sys.exit(1) | |
| if args.verbose: | |
| print("transcript:", r.transcript, file=sys.stderr) | |
| print("confidence:", r.confidence, file=sys.stderr) | |
| if r.similarity is not None: | |
| print("similarity:", round(r.similarity, 4), file=sys.stderr) | |
| print(r.agent_text) | |
| if args.speak and r.agent_text: | |
| try: | |
| speak_local(r.agent_text) | |
| except Exception as e: | |
| print("TTS playback failed:", e, file=sys.stderr) | |
| sys.exit(1) | |
| if __name__ == "__main__": | |
| main() | |