瀏覽代碼

Merge pull request #54 from jmorganca/empty-line

no prompt on empty line
Michael Yang 1 年之前
父節點
當前提交
0fea50cd42
共有 2 個文件被更改,包括 32 次插入27 次删除
  1. 31 27
      cmd/cmd.go
  2. 1 0
      server/templates/wizardlm.prompt

+ 31 - 27
cmd/cmd.go

@@ -9,6 +9,7 @@ import (
 	"net"
 	"os"
 	"path"
+	"strings"
 	"time"
 
 	"github.com/schollz/progressbar/v3"
@@ -75,38 +76,41 @@ func RunGenerate(_ *cobra.Command, args []string) error {
 }
 
 func generate(model, prompt string) error {
-	client := api.NewClient()
-
-	spinner := progressbar.NewOptions(-1,
-		progressbar.OptionSetWriter(os.Stderr),
-		progressbar.OptionThrottle(60*time.Millisecond),
-		progressbar.OptionSpinnerType(14),
-		progressbar.OptionSetRenderBlankState(true),
-		progressbar.OptionSetElapsedTime(false),
-		progressbar.OptionClearOnFinish(),
-	)
-
-	go func() {
-		for range time.Tick(60 * time.Millisecond) {
-			if spinner.IsFinished() {
-				break
+	if len(strings.TrimSpace(prompt)) > 0 {
+		client := api.NewClient()
+
+		spinner := progressbar.NewOptions(-1,
+			progressbar.OptionSetWriter(os.Stderr),
+			progressbar.OptionThrottle(60*time.Millisecond),
+			progressbar.OptionSpinnerType(14),
+			progressbar.OptionSetRenderBlankState(true),
+			progressbar.OptionSetElapsedTime(false),
+			progressbar.OptionClearOnFinish(),
+		)
+
+		go func() {
+			for range time.Tick(60 * time.Millisecond) {
+				if spinner.IsFinished() {
+					break
+				}
+
+				spinner.Add(1)
 			}
+		}()
 
-			spinner.Add(1)
-		}
-	}()
+		client.Generate(context.Background(), &api.GenerateRequest{Model: model, Prompt: prompt}, func(resp api.GenerateResponse) error {
+			if !spinner.IsFinished() {
+				spinner.Finish()
+			}
 
-	client.Generate(context.Background(), &api.GenerateRequest{Model: model, Prompt: prompt}, func(resp api.GenerateResponse) error {
-		if !spinner.IsFinished() {
-			spinner.Finish()
-		}
+			fmt.Print(resp.Response)
+			return nil
+		})
 
-		fmt.Print(resp.Response)
-		return nil
-	})
+		fmt.Println()
+		fmt.Println()
+	}
 
-	fmt.Println()
-	fmt.Println()
 	return nil
 }
 

+ 1 - 0
server/templates/wizardlm.prompt

@@ -1,2 +1,3 @@
 {{ .Prompt }}
+
 ### Response: