This commit is contained in:
Will 2023-02-13 23:18:08 +08:00
parent 304093260e
commit 32b8f35520

View File

@ -23,6 +23,10 @@ type ChatGPTResponseBody struct {
Usage map[string]interface{} `json:"usage"` Usage map[string]interface{} `json:"usage"`
} }
type ChatGPTErrorBody struct {
Error map[string]interface{} `json:"error"`
}
// ChatGPTRequestBody 响应体 // ChatGPTRequestBody 响应体
type ChatGPTRequestBody struct { type ChatGPTRequestBody struct {
Model string `json:"model"` Model string `json:"model"`
@ -103,12 +107,16 @@ func Completions(msg string) (*string, error) {
} }
gptResponseBody := &ChatGPTResponseBody{} gptResponseBody := &ChatGPTResponseBody{}
gptErrorBody := &ChatGPTErrorBodyP{}
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 {
@ -116,7 +124,7 @@ func Completions(msg string) (*string, error) {
break break
} }
} else { } else {
replay = v["error"]["message"].(string) reply = gptErrorBody.Error["message"].(string)
} }
log.Printf("gpt response text: %s \n", reply) log.Printf("gpt response text: %s \n", reply)
result := strings.TrimSpace(reply) result := strings.TrimSpace(reply)