diff --git a/Dockerfile b/Dockerfile index 14e037e6..b86cc706 100644 --- a/Dockerfile +++ b/Dockerfile @@ -263,14 +263,20 @@ EOT # In most cases, builder is the image you should be using - however, this can save build time if one just needs to copy backend-assets/grpc/stablediffusion and nothing else. FROM builder-base AS builder-sd -COPY . . -COPY .git . +# stablediffusion does not tolerate a newer version of abseil, copy only over enough elements to build it +COPY Makefile . +COPY go.mod . +COPY go.sum . +COPY backend/backend.proto ./backend/backend.proto +COPY backend/go/image/stablediffusion ./backend/go/image/stablediffusion +COPY pkg/grpc ./pkg/grpc +COPY pkg/stablediffusion ./pkg/stablediffusion +RUN git init +RUN make sources/go-stable-diffusion +RUN touch prepare-sources -RUN make prepare - - -# stablediffusion does not tolerate a newer version of abseil, build it first -RUN GRPC_BACKENDS=backend-assets/grpc/stablediffusion make build +# Actually build the backend +RUN GRPC_BACKENDS=backend-assets/grpc/stablediffusion make backend-assets/grpc/stablediffusion ################################### ################################### @@ -285,6 +291,11 @@ COPY --from=grpc /opt/grpc /usr/local # Rebuild with defaults backends WORKDIR /build +COPY . . +COPY .git . + +RUN make prepare + ## Build the binary ## If it's CUDA, we want to skip some of the llama-compat backends to save space ## We only leave the most CPU-optimized variant and the fallback for the cublas build diff --git a/core/backend/transcript.go b/core/backend/transcript.go index ed3e24a5..6ebc7c10 100644 --- a/core/backend/transcript.go +++ b/core/backend/transcript.go @@ -9,7 +9,7 @@ import ( "github.com/mudler/LocalAI/core/schema" "github.com/mudler/LocalAI/pkg/grpc/proto" - model "github.com/mudler/LocalAI/pkg/model" + "github.com/mudler/LocalAI/pkg/model" ) func ModelTranscription(audio, language string, translate bool, ml *model.ModelLoader, backendConfig config.BackendConfig, appConfig *config.ApplicationConfig) (*schema.TranscriptionResult, error) { @@ -22,16 +22,16 @@ func ModelTranscription(audio, language string, translate bool, ml *model.ModelL model.WithAssetDir(appConfig.AssetsDestination), }) - whisperModel, err := ml.BackendLoader(opts...) + transcriptionModel, err := ml.BackendLoader(opts...) if err != nil { return nil, err } - if whisperModel == nil { - return nil, fmt.Errorf("could not load whisper model") + if transcriptionModel == nil { + return nil, fmt.Errorf("could not load transcription model") } - r, err := whisperModel.AudioTranscription(context.Background(), &proto.TranscriptRequest{ + r, err := transcriptionModel.AudioTranscription(context.Background(), &proto.TranscriptRequest{ Dst: audio, Language: language, Translate: translate,