Class: Observ::Transcription
- Inherits:
-
Observation
- Object
- ActiveRecord::Base
- ApplicationRecord
- Observation
- Observ::Transcription
- Defined in:
- app/models/observ/transcription.rb
Instance Method Summary collapse
-
#audio_duration_s ⇒ Object
Transcription-specific helpers.
- #finalize(output:, usage: {}, cost_usd: 0.0, status_message: nil) ⇒ Object
- #has_diarization? ⇒ Boolean
- #language ⇒ Object
- #segments_count ⇒ Object
- #speakers_count ⇒ Object
Methods inherited from Observation
Instance Method Details
#audio_duration_s ⇒ Object
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: ) end |
#has_diarization? ⇒ Boolean
34 35 36 |
# File 'app/models/observ/transcription.rb', line 34 def has_diarization? &.dig("has_diarization") || false end |
#language ⇒ Object
22 23 24 |
# File 'app/models/observ/transcription.rb', line 22 def language &.dig("language") end |
#segments_count ⇒ Object
26 27 28 |
# File 'app/models/observ/transcription.rb', line 26 def segments_count &.dig("segments_count") || 0 end |
#speakers_count ⇒ Object
30 31 32 |
# File 'app/models/observ/transcription.rb', line 30 def speakers_count &.dig("speakers_count") end |