Files
photoprism/internal/commands/vision_run.go
2025-04-15 14:51:55 +02:00

40 lines
1.0 KiB
Go

package commands
import (
"strings"
"github.com/urfave/cli/v2"
"github.com/photoprism/photoprism/internal/ai/vision"
"github.com/photoprism/photoprism/internal/config"
"github.com/photoprism/photoprism/internal/workers"
)
// VisionRunCommand configures the command name, flags, and action.
var VisionRunCommand = &cli.Command{
Name: "run",
Usage: "Runs a computer vision model",
ArgsUsage: "[filter]",
Flags: []cli.Flag{
&cli.StringFlag{
Name: "models",
Aliases: []string{"m"},
Usage: "model types (labels, nsfw, caption)",
},
&cli.BoolFlag{
Name: "force",
Aliases: []string{"f"},
Usage: "force existing metadata to be updated",
},
},
Action: visionRunAction,
}
// visionListAction displays existing user accounts.
func visionRunAction(ctx *cli.Context) error {
return CallWithDependencies(ctx, func(conf *config.Config) error {
worker := workers.NewVision(conf)
return worker.Start(strings.TrimSpace(ctx.Args().First()), vision.ParseTypes(ctx.String("models")), ctx.Bool("force"))
})
}