WIP
This commit is contained in:
31
main.py
31
main.py
@@ -12,7 +12,9 @@ from typing import Callable
|
||||
|
||||
import torch
|
||||
from asr import Asr, AsrRawResult
|
||||
from asr_filter import AsrFilter
|
||||
from asr_filter import AsrFilter, AsrFilterResult
|
||||
from asr_eventizer import AsrEventizer
|
||||
from windowizer import Windowizer
|
||||
|
||||
from agent import Agent
|
||||
from utils import ffmpeg_split_video, ffmpeg_to_mp3
|
||||
@@ -138,13 +140,36 @@ def on_asr_filter(current_step: Step, input_data: dict | None) -> tuple[Step | N
|
||||
return (Step.ASR_EVENTS, json.load(f))
|
||||
# bad request
|
||||
if input_data is None:
|
||||
logging.error("Can'f filter raw ASR ouput without input_data")
|
||||
logging.error("Can't filter raw ASR output without input_data")
|
||||
return (None, None)
|
||||
logging.info("Filtering raw ASR output...")
|
||||
filter = AsrFilter()
|
||||
result = filter.filter(AsrRawResult(**input_data))
|
||||
return (Step.ASR_EVENTS, result.model_dump(mode="json"))
|
||||
|
||||
def on_asr_events(current_step: Step, input_data: dict | None) -> tuple[Step | None, dict | None]:
|
||||
# do not filter if output file exists
|
||||
if os.path.isfile(WORKFLOW_DATA[current_step][0]):
|
||||
logging.info("Skipping ASR eventizing")
|
||||
with open(WORKFLOW_DATA[current_step][0], "rb") as f:
|
||||
return (Step.VIDEO_REFERENCES, json.load(f))
|
||||
# bad request
|
||||
if input_data is None:
|
||||
logging.error("Can't create audio events without input_data")
|
||||
return (None, None)
|
||||
logging.info("Creating the agent")
|
||||
agent = Agent(
|
||||
model=ARGS.ai_model,
|
||||
base_url=ARGS.ai_base_url,
|
||||
api_key=ARGS.ai_api_key
|
||||
)
|
||||
logging.info("Creating the windowizer")
|
||||
windowizer = Windowizer()
|
||||
logging.info("Creating audio events...")
|
||||
eventizer = AsrEventizer(agent, windowizer)
|
||||
result = eventizer.eventize(AsrFilterResult(**input_data))
|
||||
return (Step.VIDEO_REFERENCES, result.model_dump(mode="json"))
|
||||
|
||||
#
|
||||
# Main
|
||||
#
|
||||
@@ -152,7 +177,7 @@ WORKFLOW_DATA: dict[Step, tuple[str, Callable[[Step, dict | None], tuple[Step |
|
||||
Step.MEDIA_SEPARATION: ("audio.mp3", on_media_separation),
|
||||
Step.VOICE_RECOGNITION: ("asr_raw.json", on_voice_recognition),
|
||||
Step.ASR_FILTER: ("asr.json", on_asr_filter),
|
||||
Step.ASR_EVENTS: ("audio_events.json", None),
|
||||
Step.ASR_EVENTS: ("audio_events.json", on_asr_events),
|
||||
Step.VIDEO_REFERENCES: ("unresolved.json", None),
|
||||
Step.REFERENCE_RESOLVER: ("events.json", None),
|
||||
Step.STRUCTURE_BUILDER: ("structure.json", None),
|
||||
|
||||
Reference in New Issue
Block a user