golang接入chatGPT
时间: 2023-11-03 13:02:40 浏览: 226
要在 Golang 中接入 ChatGPT,您需要使用 OpenAI 的 GPT-3 API。首先,您需要创建一个 OpenAI 账户,并获取一个 API 密钥。然后,您可以使用以下代码片段在 Golang 中调用 API:
```go
package main
import (
"bytes"
"encoding/json"
"fmt"
"io/ioutil"
"net/http"
)
func main() {
// 设置API密钥和请求URL
apiKey := "YOUR_API_KEY"
url := "https://api.openai.com/v1/engines/davinci-codex/completions"
// 设置请求体
requestData := map[string]interface{}{
"prompt": "Hello, my name is",
"max_tokens": 5,
"temperature": 0.5,
}
requestDataBytes, err := json.Marshal(requestData)
if err != nil {
panic(err)
}
// 创建HTTP请求
req, err := http.NewRequest("POST", url, bytes.NewBuffer(requestDataBytes))
if err != nil {
panic(err)
}
req.Header.Set("Content-Type", "application/json")
req.Header.Set("Authorization", fmt.Sprintf("Bearer %s", apiKey))
// 发送请求并处理响应
client := http.Client{}
resp, err := client.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
respData, err := ioutil.ReadAll(resp.Body)
if err != nil {
panic(err)
}
var respObj map[string]interface{}
err = json.Unmarshal(respData, &respObj)
if err != nil {
panic(err)
}
// 打印响应
fmt.Println(respObj)
}
```
在上面的代码中,我们设置了 API 密钥和请求 URL,并使用 `map` 定义了请求体。然后,我们创建了一个 HTTP 请求,并将 API 密钥和请求体添加到请求头中。最后,我们发送请求并处理响应。在这个例子中,我们只是打印了响应,但您可以根据需要进行其他处理。
阅读全文