Added docker support

This commit is contained in:
2026-09-23 03:26:09 +03:00
parent 22cc5d0034
commit 4b0a19713a
13 changed files with 186 additions and 95 deletions

View File

@@ -1,13 +1,12 @@
from typing import Any
import traceback
import shutil
import os
import json
from pydantic import BaseModel
from agent import Agent, AgentMessage
from windowizer import Windowizer, Window
from asr_filter import AsrFilterResult, AsrFilterSegment
from paths import debug_path, prompt_path
from utils import Timeline, Event
class _PreEvent(BaseModel):
@@ -41,21 +40,19 @@ class AsrEventizer:
role="user"
)
]
debug_dir = None
if os.path.isdir("debug"):
debug_dir = f"debug/AsrEventizer/{AsrEventizer.DEBUG_ID}"
AsrEventizer.DEBUG_ID += 1
os.makedirs(debug_dir, exist_ok=True)
debug_dir = debug_path("AsrEventizer", AsrEventizer.DEBUG_ID)
if debug_dir:
with open(f"{debug_dir}/request.txt", "w") as f:
f.write(messages[1].content)
AsrEventizer.DEBUG_ID += 1
(debug_dir / "request.txt").write_text(messages[1].content, encoding="utf-8")
retries_left = 5
while retries_left > 0:
retries_left -= 1
response = self._agent.completion(messages=messages, response_format=_EventizeResult)
if debug_dir:
with open(f"{debug_dir}/{retries_left}-retries-left.txt", "w") as f:
f.write(response)
(debug_dir / f"{retries_left}-retries-left.txt").write_text(
response,
encoding="utf-8",
)
# validate data
try:
response = json.loads(response)
@@ -85,11 +82,10 @@ class AsrEventizer:
"""
self._agent = agent
self._windowizer = windowizer
with open("prompts/asr_eventizer.md", "r") as f:
self._system_prompt = AgentMessage(
content=f.read(),
role="system"
)
self._system_prompt = AgentMessage(
content=prompt_path("asr_eventizer.md").read_text(encoding="utf-8"),
role="system",
)
def eventize(self, asr_filter_result: AsrFilterResult) -> Timeline:
"""Builds event timeline from `AsrFilterResult`. Resulting timeline
@@ -125,4 +121,4 @@ class AsrEventizer:
))
output_id += 1
# final timeline
return Timeline(events=events)
return Timeline(events=events)