Compare commits
1 Commits
main
...
parth/cmd-
Author | SHA1 | Date | |
---|---|---|---|
![]() |
11eecdde86 |
16
cmd/cmd.go
16
cmd/cmd.go
@ -1038,14 +1038,15 @@ func chat(cmd *cobra.Command, opts runOptions) (*api.Message, error) {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
if opts.Format == "json" {
|
var format json.RawMessage
|
||||||
opts.Format = `"` + opts.Format + `"`
|
if opts.Format != "" {
|
||||||
|
format = json.RawMessage(opts.Format)
|
||||||
}
|
}
|
||||||
|
|
||||||
req := &api.ChatRequest{
|
req := &api.ChatRequest{
|
||||||
Model: opts.Model,
|
Model: opts.Model,
|
||||||
Messages: opts.Messages,
|
Messages: opts.Messages,
|
||||||
Format: json.RawMessage(opts.Format),
|
Format: format,
|
||||||
Options: opts.Options,
|
Options: opts.Options,
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1127,8 +1128,9 @@ func generate(cmd *cobra.Command, opts runOptions) error {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if opts.Format == "json" {
|
var format json.RawMessage
|
||||||
opts.Format = `"` + opts.Format + `"`
|
if opts.Format != "" {
|
||||||
|
format = json.RawMessage(opts.Format)
|
||||||
}
|
}
|
||||||
|
|
||||||
request := api.GenerateRequest{
|
request := api.GenerateRequest{
|
||||||
@ -1136,7 +1138,7 @@ func generate(cmd *cobra.Command, opts runOptions) error {
|
|||||||
Prompt: opts.Prompt,
|
Prompt: opts.Prompt,
|
||||||
Context: generateContext,
|
Context: generateContext,
|
||||||
Images: opts.Images,
|
Images: opts.Images,
|
||||||
Format: json.RawMessage(opts.Format),
|
Format: format,
|
||||||
System: opts.System,
|
System: opts.System,
|
||||||
Options: opts.Options,
|
Options: opts.Options,
|
||||||
KeepAlive: opts.KeepAlive,
|
KeepAlive: opts.KeepAlive,
|
||||||
@ -1353,7 +1355,7 @@ func NewCLI() *cobra.Command {
|
|||||||
runCmd.Flags().Bool("verbose", false, "Show timings for response")
|
runCmd.Flags().Bool("verbose", false, "Show timings for response")
|
||||||
runCmd.Flags().Bool("insecure", false, "Use an insecure registry")
|
runCmd.Flags().Bool("insecure", false, "Use an insecure registry")
|
||||||
runCmd.Flags().Bool("nowordwrap", false, "Don't wrap words to the next line automatically")
|
runCmd.Flags().Bool("nowordwrap", false, "Don't wrap words to the next line automatically")
|
||||||
runCmd.Flags().String("format", "", "Response format (e.g. json)")
|
runCmd.Flags().String("format", "", `Response format ("json" or a JSON Schema)`)
|
||||||
|
|
||||||
stopCmd := &cobra.Command{
|
stopCmd := &cobra.Command{
|
||||||
Use: "stop MODEL",
|
Use: "stop MODEL",
|
||||||
|
@ -261,11 +261,16 @@ func generateInteractive(cmd *cobra.Command, opts runOptions) error {
|
|||||||
}
|
}
|
||||||
fmt.Println("Set 'quiet' mode.")
|
fmt.Println("Set 'quiet' mode.")
|
||||||
case "format":
|
case "format":
|
||||||
if len(args) < 3 || args[2] != "json" {
|
if len(args) < 3 {
|
||||||
fmt.Println("Invalid or missing format. For 'json' mode use '/set format json'")
|
fmt.Println("Invalid or missing format. For 'json' mode use '/set format json or provide a JSON schema'")
|
||||||
|
} else if len(args) == 3 && (args[2] == "json" || args[2] == `"json"`) {
|
||||||
|
opts.Format = `"json"`
|
||||||
|
fmt.Println("Set format to 'json' mode.")
|
||||||
|
} else if len(args) > 3 && strings.HasPrefix(args[2], "{") {
|
||||||
|
opts.Format = strings.Join(args[2:], " ")
|
||||||
|
fmt.Printf("Set format to schema: \n'%s'.\n", opts.Format)
|
||||||
} else {
|
} else {
|
||||||
opts.Format = args[2]
|
fmt.Println("Invalid or missing format. For 'json' mode use '/set format json or provide a JSON schema'")
|
||||||
fmt.Printf("Set format to '%s' mode.\n", args[2])
|
|
||||||
}
|
}
|
||||||
case "noformat":
|
case "noformat":
|
||||||
opts.Format = ""
|
opts.Format = ""
|
||||||
|
Loading…
x
Reference in New Issue
Block a user