Class: Observ::Transcription

Inherits:
Observation show all
Defined in:
app/models/observ/transcription.rb

Instance Method Summary collapse

Methods inherited from Observation

#duration_ms

Instance Method Details

#audio_duration_sObject

Transcription-specific helpers



18
19
20
# File 'app/models/observ/transcription.rb', line 18

def audio_duration_s
  &.dig("audio_duration_s")
end

#finalize(output:, usage: {}, cost_usd: 0.0, status_message: nil) ⇒ Object



5
6
7
8
9
10
11
12
13
14
15
# File 'app/models/observ/transcription.rb', line 5

def finalize(output:, usage: {}, cost_usd: 0.0, status_message: nil)
  merged_usage = (self.usage || {}).merge(usage.stringify_keys)

  update!(
    output: output.is_a?(String) ? output : output.to_json,
    usage: merged_usage,
    cost_usd: cost_usd,
    end_time: Time.current,
    status_message: status_message
  )
end

#has_diarization?Boolean

Returns:

  • (Boolean)


34
35
36
# File 'app/models/observ/transcription.rb', line 34

def has_diarization?
  &.dig("has_diarization") || false
end

#languageObject



22
23
24
# File 'app/models/observ/transcription.rb', line 22

def language
  &.dig("language")
end

#segments_countObject



26
27
28
# File 'app/models/observ/transcription.rb', line 26

def segments_count
  &.dig("segments_count") || 0
end

#speakers_countObject



30
31
32
# File 'app/models/observ/transcription.rb', line 30

def speakers_count
  &.dig("speakers_count")
end