package cmd import ( "fmt" "git.mlow.ca/mlow/lmcli/pkg/api" cmdutil "git.mlow.ca/mlow/lmcli/pkg/cmd/util" "git.mlow.ca/mlow/lmcli/pkg/lmcli" "github.com/spf13/cobra" ) func PromptCmd(ctx *lmcli.Context) *cobra.Command { cmd := &cobra.Command{ Use: "prompt [message]", Short: "Do a one-shot prompt", Long: `Prompt the Large Language Model and get a response.`, RunE: func(cmd *cobra.Command, args []string) error { err := validateGenerationFlags(ctx, cmd) if err != nil { return err } input := inputFromArgsOrEditor(args, "# Write your prompt below\n", "") if input == "" { return fmt.Errorf("No message was provided.") } messages := []api.Message{{ Role: api.MessageRoleUser, Content: input, }} _, err = cmdutil.Prompt(ctx, messages, nil) if err != nil { return fmt.Errorf("Error fetching LLM response: %v", err) } return nil }, } applyGenerationFlags(ctx, cmd) return cmd }