29 lines
900 B
Go
29 lines
900 B
Go
package validators
|
|
|
|
import (
|
|
"encoding/json"
|
|
"fmt"
|
|
|
|
"gitea.maximumdirect.net/eric/audita/internal/framework/promptcontext"
|
|
)
|
|
|
|
func BuildValidationVariables(validationPayload []LLMValidationItem, transcriptDescription string) (map[string]string, error) {
|
|
payloadJSON, err := json.MarshalIndent(localValidationItems(validationPayload), "", " ")
|
|
if err != nil {
|
|
return nil, fmt.Errorf("marshal validation payload: %w", err)
|
|
}
|
|
return map[string]string{
|
|
"TranscriptDescriptionBlock": promptcontext.TranscriptDescriptionBlock(transcriptDescription),
|
|
"PayloadJSON": string(payloadJSON),
|
|
}, nil
|
|
}
|
|
|
|
// localValidationItems gives each actual batch its own short references.
|
|
func localValidationItems(items []LLMValidationItem) []LLMValidationItem {
|
|
local := append([]LLMValidationItem(nil), items...)
|
|
for i := range local {
|
|
local[i].CorrectionIndex = i + 1
|
|
}
|
|
return local
|
|
}
|