File size: 1,014 Bytes
745f62a
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
"""Run the full Sakhi pipeline (ASR → visit type → form + danger) on one audio file."""
import json, os, sys, time
os.environ["TORCH_COMPILE_DISABLE"] = "1"
os.environ["TORCHDYNAMO_DISABLE"] = "1"
os.environ["PYTHONIOENCODING"] = "utf-8"
sys.stdout.reconfigure(encoding="utf-8")
sys.path.insert(0, os.path.join(os.path.dirname(__file__), ".."))

from app import transcribe_audio, detect_visit_type, extract_all, init_schemas

audio = sys.argv[1]
init_schemas()

t0 = time.time()
transcript = transcribe_audio(audio)
asr_s = time.time() - t0
print(f"\n[transcript] {transcript}\n")

visit_type = detect_visit_type(transcript)
print(f"[visit_type] {visit_type}\n")

t0 = time.time()
result = extract_all(transcript, visit_type)
ext_s = time.time() - t0

print("[form]")
print(json.dumps(result.get("form"), ensure_ascii=False, indent=2))
print("\n[danger]")
print(json.dumps(result.get("danger"), ensure_ascii=False, indent=2))
print(f"\n[timing] asr={asr_s:.1f}s extract={ext_s:.1f}s total={asr_s+ext_s:.1f}s")