(ctx context.Context, ml *model.ModelLoader, modelConfig config.ModelConfig, appConfig *config.ApplicationConfig)
| 42 | } |
| 43 | |
| 44 | func loadTranscriptionModel(ctx context.Context, ml *model.ModelLoader, modelConfig config.ModelConfig, appConfig *config.ApplicationConfig) (grpcPkg.Backend, error) { |
| 45 | if modelConfig.Backend == "" { |
| 46 | modelConfig.Backend = model.WhisperBackend |
| 47 | } |
| 48 | // model.WithContext(ctx) overrides the app-context default set in |
| 49 | // ModelOptions so distributed routing decisions reach the request's |
| 50 | // X-LocalAI-Node holder via distributedhdr.Stamp. |
| 51 | opts := ModelOptions(modelConfig, appConfig, model.WithContext(ctx)) |
| 52 | transcriptionModel, err := ml.Load(opts...) |
| 53 | if err != nil { |
| 54 | recordModelLoadFailure(appConfig, modelConfig.Name, modelConfig.Backend, err, nil) |
| 55 | return nil, err |
| 56 | } |
| 57 | if transcriptionModel == nil { |
| 58 | return nil, fmt.Errorf("could not load transcription model") |
| 59 | } |
| 60 | return transcriptionModel, nil |
| 61 | } |
| 62 | |
| 63 | func ModelTranscription(ctx context.Context, audio, language string, translate, diarize bool, prompt string, ml *model.ModelLoader, modelConfig config.ModelConfig, appConfig *config.ApplicationConfig) (*schema.TranscriptionResult, error) { |
| 64 | return ModelTranscriptionWithOptions(ctx, TranscriptionRequest{ |
no test coverage detected