Run normalization in process command
This commit is contained in:
@@ -10,6 +10,7 @@ import (
|
||||
|
||||
"gitea.maximumdirect.net/eric/audita/internal/core/config"
|
||||
"gitea.maximumdirect.net/eric/audita/internal/core/io"
|
||||
"gitea.maximumdirect.net/eric/audita/internal/core/normalization"
|
||||
"gitea.maximumdirect.net/eric/audita/internal/core/reporting"
|
||||
"gitea.maximumdirect.net/eric/audita/internal/core/schema"
|
||||
)
|
||||
@@ -45,8 +46,8 @@ var processRunner = func(inv processInvocation, stdout io.Writer) error {
|
||||
return fmt.Errorf("invalid glossary: %w", err)
|
||||
}
|
||||
|
||||
// Convert to canonical transcript format for output
|
||||
outputTranscript := &schema.Transcript{
|
||||
// Convert to canonical transcript format for normalization
|
||||
normalizedTranscript := &schema.Transcript{
|
||||
Segments: make([]schema.Segment, len(transcript.Segments)),
|
||||
}
|
||||
for i, s := range transcript.Segments {
|
||||
@@ -54,7 +55,7 @@ var processRunner = func(inv processInvocation, stdout io.Writer) error {
|
||||
if s.ID != nil {
|
||||
id = *s.ID
|
||||
}
|
||||
outputTranscript.Segments[i] = schema.Segment{
|
||||
normalizedTranscript.Segments[i] = schema.Segment{
|
||||
ID: id,
|
||||
Speaker: s.Speaker,
|
||||
Start: s.Start,
|
||||
@@ -64,8 +65,18 @@ var processRunner = func(inv processInvocation, stdout io.Writer) error {
|
||||
}
|
||||
}
|
||||
|
||||
// Serialize output transcript to JSON
|
||||
outputBytes, err := schema.TranscriptToJSON(outputTranscript)
|
||||
// Apply deterministic normalization
|
||||
normalizer := normalization.NewNormalizer(normalization.NormalizationConfig{
|
||||
MaxSegmentGap: inv.Config.Normalization.MaxSegmentGap,
|
||||
EllipsisGap: inv.Config.Normalization.EllipsisGap,
|
||||
MaxSegmentDuration: inv.Config.Normalization.MaxSegmentDuration,
|
||||
MaxSegmentTokens: inv.Config.Normalization.MaxSegmentTokens,
|
||||
})
|
||||
|
||||
normalizedTranscript, _ = normalizer.Normalize(normalizedTranscript)
|
||||
|
||||
// Serialize normalized transcript to JSON
|
||||
outputBytes, err := schema.TranscriptToJSON(normalizedTranscript)
|
||||
if err != nil {
|
||||
return fmt.Errorf("failed to serialize transcript: %w", err)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user