fix: request body format in openai api (#1309)

This commit is contained in:
boojack 2023-03-08 19:37:50 +08:00 committed by GitHub
parent ce7564a91b
commit ccf6af4dc3
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 26 additions and 15 deletions

View File

@ -1,12 +1,12 @@
package openai
import (
"bytes"
"encoding/json"
"errors"
"io"
"net/http"
"net/url"
"strings"
)
type ChatCompletionMessage struct {
@ -25,10 +25,6 @@ type ChatCompletionResponse struct {
}
func PostChatCompletion(prompt string, apiKey string, apiHost string) (string, error) {
requestBody := strings.NewReader(`{
"model": "gpt-3.5-turbo",
"messages": [{"role": "user", "content": "` + prompt + `"}]
}`)
if apiHost == "" {
apiHost = "https://api.openai.com"
}
@ -37,7 +33,16 @@ func PostChatCompletion(prompt string, apiKey string, apiHost string) (string, e
return "", err
}
req, err := http.NewRequest("POST", url, requestBody)
values := map[string]interface{}{
"model": "gpt-3.5-turbo",
"messages": []map[string]string{{"role": "user", "content": prompt}},
}
jsonValue, err := json.Marshal(values)
if err != nil {
return "", err
}
req, err := http.NewRequest("POST", url, bytes.NewBuffer(jsonValue))
if err != nil {
return "", err
}

View File

@ -1,12 +1,12 @@
package openai
import (
"bytes"
"encoding/json"
"errors"
"io"
"net/http"
"net/url"
"strings"
)
type TextCompletionChoice struct {
@ -20,13 +20,6 @@ type TextCompletionResponse struct {
}
func PostTextCompletion(prompt string, apiKey string, apiHost string) (string, error) {
requestBody := strings.NewReader(`{
"prompt": "` + prompt + `",
"temperature": 0.5,
"max_tokens": 100,
"n": 1,
"stop": "."
}`)
if apiHost == "" {
apiHost = "https://api.openai.com"
}
@ -35,7 +28,20 @@ func PostTextCompletion(prompt string, apiKey string, apiHost string) (string, e
return "", err
}
req, err := http.NewRequest("POST", url, requestBody)
values := map[string]interface{}{
"model": "gpt-3.5-turbo",
"prompt": prompt,
"temperature": 0.5,
"max_tokens": 100,
"n": 1,
"stop": ".",
}
jsonValue, err := json.Marshal(values)
if err != nil {
return "", err
}
req, err := http.NewRequest("POST", url, bytes.NewBuffer(jsonValue))
if err != nil {
return "", err
}