From d4af7f09664c221f21e8f3a9a4f533eaba059e82 Mon Sep 17 00:00:00 2001 From: Josh Hawkins <32435876+hawkeye217@users.noreply.github.com> Date: Thu, 6 Nov 2025 17:38:34 -0600 Subject: [PATCH] fix audio transcription embedding --- frigate/data_processing/post/audio_transcription.py | 8 +++----- frigate/embeddings/maintainer.py | 4 +++- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/frigate/data_processing/post/audio_transcription.py b/frigate/data_processing/post/audio_transcription.py index 146b4e0f1..066287707 100644 --- a/frigate/data_processing/post/audio_transcription.py +++ b/frigate/data_processing/post/audio_transcription.py @@ -9,7 +9,6 @@ from typing import Optional from faster_whisper import WhisperModel from peewee import DoesNotExist -from frigate.comms.embeddings_updater import EmbeddingsRequestEnum from frigate.comms.inter_process import InterProcessRequestor from frigate.config import FrigateConfig from frigate.const import ( @@ -32,11 +31,13 @@ class AudioTranscriptionPostProcessor(PostProcessorApi): self, config: FrigateConfig, requestor: InterProcessRequestor, + embeddings, metrics: DataProcessorMetrics, ): super().__init__(config, metrics, None) self.config = config self.requestor = requestor + self.embeddings = embeddings self.recognizer = None self.transcription_lock = threading.Lock() self.transcription_thread = None @@ -128,10 +129,7 @@ class AudioTranscriptionPostProcessor(PostProcessorApi): ) # Embed the description - self.requestor.send_data( - EmbeddingsRequestEnum.embed_description.value, - {"id": event_id, "description": transcription}, - ) + self.embeddings.embed_description(event_id, transcription) except DoesNotExist: logger.debug("No recording found for audio transcription post-processing") diff --git a/frigate/embeddings/maintainer.py b/frigate/embeddings/maintainer.py index bde81522d..6f34f4556 100644 --- a/frigate/embeddings/maintainer.py +++ b/frigate/embeddings/maintainer.py @@ -226,7 +226,9 @@ class EmbeddingMaintainer(threading.Thread): for c in self.config.cameras.values() ): self.post_processors.append( - AudioTranscriptionPostProcessor(self.config, self.requestor, metrics) + AudioTranscriptionPostProcessor( + self.config, self.requestor, self.embeddings, metrics + ) ) semantic_trigger_processor: SemanticTriggerProcessor | None = None