perf: 当使用prompt但内容为空时,直接返回prompt的内容 (#138)

This commit is contained in:
辣橙
2023-03-29 22:31:49 +08:00
committed by GitHub
parent 53e27ee145
commit 71a464b7f0
3 changed files with 65 additions and 17 deletions

View File

@@ -1,16 +1,23 @@
package process
import (
"errors"
"fmt"
"strings"
"github.com/eryajf/chatgpt-dingtalk/public"
)
// GeneratePrompt 生成当次请求的 Prompt
func GeneratePrompt(msg string) (rst string) {
func GeneratePrompt(msg string) (rst string, err error) {
for _, prompt := range *public.Prompt {
if strings.HasPrefix(msg, prompt.Title) {
rst = prompt.Content + strings.Replace(msg, prompt.Title, "", -1)
if strings.TrimSpace(msg) == prompt.Title {
rst = fmt.Sprintf("%s\n%s", prompt.Title, prompt.Content)
err = errors.New("消息内容为空") // 当提示词之后没有文本抛出异常以便直接返回Prompt所代表的内容
} else {
rst = prompt.Content + strings.Replace(msg, prompt.Title, "", -1)
}
return
} else {
rst = msg