golang 调用chatgpt api

package main

import (
	"bytes"
	"encoding/json"
	"fmt"
	"io/ioutil"
	"net/http"
)

// ChatGPTRequest represents the data sent to the ChatGPT API.
type ChatGPTRequest struct {
	Prompt string `json:"prompt"`
}

// ChatGPTResponse represents the data received from the ChatGPT API.
type ChatGPTResponse struct {
	Choices []struct {
		Text string `json:"text"`
	} `json:"choices"`
}

func main() {
	// Replace with your actual API key
	apiKey := "sk-xxxxxxxxx"

	// Set the appropriate API endpoint
	url := "https://api.openai.com/v1/engines/gpt-3.5-turbo-16k/completions"

	// Create a new request
	reqData := ChatGPTRequest{Prompt: "golang和python的区别"}
	reqBody, _ := json.Marshal(reqData)
	req, _ := http.NewRequest("POST", url, bytes.NewBuffer(reqBody))
	req.Header.Set("Content-Type", "application/json")
	req.Header.Set("Authorization", "Bearer "+apiKey)

	// Send the request
	client := &http.Client{}
	resp, err := client.Do(req)
	if err != nil {
		fmt.Println("Error sending request to API: ", err)
		return
	}
	defer resp.Body.Close()

	// Read and parse the response
	body, _ := ioutil.ReadAll(resp.Body)
	var chatGPTResponse ChatGPTResponse
	_ = json.Unmarshal(body, &chatGPTResponse)

	// Print the response
	fmt.Println("Response from ChatGPT: ", string(body))
}

ChatGPT4 会员并没有ChatGPT API 的访问权限
使用 ChatGPT API,需单独申请和购买
没有单独购买 ChatGPT API 的调用api 接口报错如下:
golang 调用chatgpt api_第1张图片

你可能感兴趣的:(golang,chatgpt,开发语言)