feat: implement accumulative LLM paragraph engine and harden 4-process pipeline
This commit is contained in:
+31
-4
@@ -3,11 +3,22 @@ import time
|
||||
import argparse
|
||||
import multiprocessing
|
||||
import sys
|
||||
import os
|
||||
|
||||
INGEST_URL = "https://emiapi.reynafamily.com/live-captions/ingest"
|
||||
|
||||
def log_debug(message):
|
||||
try:
|
||||
with open("distribute_debug.log", "a") as f:
|
||||
f.write(f"{time.strftime('%H:%M:%S')} {message}\n")
|
||||
f.flush()
|
||||
os.fsync(f.fileno())
|
||||
except:
|
||||
pass
|
||||
|
||||
def run_distribution(in_queue, args):
|
||||
print("[Distribute] Starting distribution service...")
|
||||
print("[Distribute] Starting distribution service...", flush=True)
|
||||
log_debug("Starting distribution service...")
|
||||
|
||||
while True:
|
||||
try:
|
||||
@@ -20,14 +31,30 @@ def run_distribution(in_queue, args):
|
||||
sys.stdout.write(f"\r\033[K[DRAFT]: {draft_text}")
|
||||
sys.stdout.flush()
|
||||
if args.ingest:
|
||||
requests.post(INGEST_URL, json={"draft": draft_text}, timeout=2)
|
||||
try: requests.post(INGEST_URL, json={"draft": draft_text}, timeout=2)
|
||||
except: pass
|
||||
continue
|
||||
|
||||
# Finalized segment
|
||||
print(f"\n[Final]: {payload.get('original', '')}")
|
||||
speaker_label = payload.get('speaker')
|
||||
speaker_prefix = f"[{speaker_label}]: " if speaker_label else ""
|
||||
|
||||
msg = f"\n[Final]: {speaker_prefix}{payload.get('original', '')}"
|
||||
print(msg, flush=True)
|
||||
log_debug(msg)
|
||||
|
||||
# Show LLM Refinement if available
|
||||
refined = payload.get('paragraph') or payload.get('corrected')
|
||||
if refined and refined.strip() != payload.get('original', '').strip():
|
||||
llm_msg = f"[LLM]: {speaker_prefix}{refined}"
|
||||
print(llm_msg, flush=True)
|
||||
log_debug(llm_msg)
|
||||
|
||||
for lang in ["es", "fr", "ar", "en"]:
|
||||
if payload.get(lang):
|
||||
print(f"[{lang.upper()}]: {payload[lang]}")
|
||||
lang_msg = f"[{lang.upper()}]: {speaker_prefix}{payload[lang]}"
|
||||
print(lang_msg, flush=True)
|
||||
log_debug(lang_msg)
|
||||
|
||||
if args.ingest:
|
||||
delay, max_delay, success = 1, 15, False
|
||||
|
||||
Reference in New Issue
Block a user