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
This commit is contained in:
Bruce MacDonald 2023-07-07 16:14:58 -04:00
parent 049295d9ba
commit 4d8b0414f7
2 changed files with 11 additions and 12 deletions

View file

@ -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.

View file

@ -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)