|
|
package backend |
|
|
|
|
|
import ( |
|
|
"github.com/mudler/LocalAI/core/config" |
|
|
|
|
|
"github.com/mudler/LocalAI/pkg/grpc/proto" |
|
|
model "github.com/mudler/LocalAI/pkg/model" |
|
|
) |
|
|
|
|
|
func ImageGeneration(height, width, step, seed int, positive_prompt, negative_prompt, src, dst string, loader *model.ModelLoader, modelConfig config.ModelConfig, appConfig *config.ApplicationConfig, refImages []string) (func() error, error) { |
|
|
|
|
|
opts := ModelOptions(modelConfig, appConfig) |
|
|
inferenceModel, err := loader.Load( |
|
|
opts..., |
|
|
) |
|
|
if err != nil { |
|
|
return nil, err |
|
|
} |
|
|
|
|
|
fn := func() error { |
|
|
_, err := inferenceModel.GenerateImage( |
|
|
appConfig.Context, |
|
|
&proto.GenerateImageRequest{ |
|
|
Height: int32(height), |
|
|
Width: int32(width), |
|
|
Step: int32(step), |
|
|
Seed: int32(seed), |
|
|
CLIPSkip: int32(modelConfig.Diffusers.ClipSkip), |
|
|
PositivePrompt: positive_prompt, |
|
|
NegativePrompt: negative_prompt, |
|
|
Dst: dst, |
|
|
Src: src, |
|
|
EnableParameters: modelConfig.Diffusers.EnableParameters, |
|
|
RefImages: refImages, |
|
|
}) |
|
|
return err |
|
|
} |
|
|
|
|
|
return fn, nil |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
var ImageGenerationFunc = ImageGeneration |
|
|
|