From 4d8b0414f702eb4be62cf42cd5c9ef7fec7e3dee Mon Sep 17 00:00:00 2001 From: Bruce MacDonald Date: Fri, 7 Jul 2023 16:14:58 -0400 Subject: [PATCH] take all args as one prompt - parse all run arguments into one prompt - do not echo prompt back on one-shot - example of summarizing a document --- README.md | 8 ++++++++ cmd/cmd.go | 15 +++------------ 2 files changed, 11 insertions(+), 12 deletions(-) diff --git a/README.md b/README.md index 15bb64c8..b1a66cee 100644 --- a/README.md +++ b/README.md @@ -48,6 +48,14 @@ Ask questions. Get answers. ollama run orca "Write an email to my boss." ``` +### 🔎 Ask questions about documents + +Send the contents of a document and ask questions about it. + +``` +ollama run nous-hermes "$(cat input.txt)", please summarize this story +``` + ### 📖 Storytelling Venture into the unknown. diff --git a/cmd/cmd.go b/cmd/cmd.go index e6c12367..7b0a042b 100644 --- a/cmd/cmd.go +++ b/cmd/cmd.go @@ -64,8 +64,10 @@ func pull(model string) error { } func RunGenerate(_ *cobra.Command, args []string) error { + // join all args into a single prompt + prompt := strings.Join(args[1:], " ") if len(args) > 1 { - return generateOneshot(args[0], args[1:]...) + return generate(args[0], prompt) } if term.IsTerminal(int(os.Stdin.Fd())) { @@ -114,17 +116,6 @@ func generate(model, prompt string) error { return nil } -func generateOneshot(model string, prompts ...string) error { - for _, prompt := range prompts { - fmt.Printf(">>> %s\n", prompt) - if err := generate(model, prompt); err != nil { - return err - } - } - - return nil -} - func generateInteractive(model string) error { fmt.Print(">>> ") scanner := bufio.NewScanner(os.Stdin)