This commit is contained in:
Will 2023-02-14 00:01:23 +08:00
parent a4f9af7e76
commit f016692f20

View File

@ -107,25 +107,31 @@ func Completions(msg string) (*string, error) {
} }
gptResponseBody := &ChatGPTResponseBody{} gptResponseBody := &ChatGPTResponseBody{}
gptErrorBody := &ChatGPTErrorBody{}
log.Println(string(body)) log.Println(string(body))
err = json.Unmarshal(body, gptResponseBody) err = json.Unmarshal(body, gptResponseBody)
if err != nil {
err = json.Unmarshal(body, gptErrorBody)
if err != nil { if err != nil {
log.Println(err) log.Println(err)
return nil, err return nil, err
} }
}
var reply string var reply string
if len(gptResponseBody.Choices) > 0 { if len(gptResponseBody.Choices) > 0 {
for _, v := range gptResponseBody.Choices { for _, v := range gptResponseBody.Choices {
reply = v["text"].(string) reply = v["text"].(string)
break break
} }
} else { }
gptErrorBody := &ChatGPTErrorBody{}
err = json.Unmarshal(body, gptErrorBody)
if err != nil {
log.Println(err)
return nil, err
}
if (len(reply) == 0) {
reply = gptErrorBody.Error["message"].(string) reply = gptErrorBody.Error["message"].(string)
} }
log.Printf("gpt response full text: %s \n", reply) log.Printf("gpt response full text: %s \n", reply)
result := strings.TrimSpace(reply) result := strings.TrimSpace(reply)
return &result, nil return &result, nil