Met de Go-taal kunt u de OpenAI API gebruiken via hun officiële clientbibliotheken. Omdat OpenAI momenteel geen Go-clientbibliotheek biedt, moet u een HTTP-aanvraag maken om verbinding te maken met de API.
U moet eerst een pakket importeren om HTTP-aanvragen te maken, zoals `net/http`. U heeft ook uw API-sleutel nodig, die u kunt toevoegen aan uw aanvraagheader.
Hier is een basisvoorbeeld van hoe u een POST-aanvraag kunt maken naar de ChatGPT API met Go:
```
package main
import (
“bytes“
“fmt“
“net/http“
“io/ioutil“
“encoding/json“
)
type Payload struct {
Messages []Message `json:“messages”`
}
type Message struct {
Role string `json:“role”`
Content string `json:“content”`
}
func main() { data := Payload{ Messages: []Message{ Message{Role: “system”, Content: “You are a helpful assistant.”}, Message{Role: “user”, Content: “Who won the world series in 2020?”}, }, }
payloadBytes, err := json.Marshal(data) if err != nil { fmt.Println(“error:”, err) } body := bytes.NewReader(payloadBytes) req, err := http.NewRequest(“POST”, “https://api.openai.com/v1/engines/davinci-codex/completions”, body) if err != nil { fmt.Println(“error:”, err) } req.Header.Set(“Content-Type”, “application/json”) req.Header.Set(“Authorization”, “Bearer YOUR_OPEN_AI_KEY”) resp, err := http.DefaultClient.Do(req) if err != nil { fmt.Println(“error:”, err) } defer resp.Body.Close() responseBytes, err := ioutil.ReadAll(resp.Body) if err != nil { fmt.Println(“error:”, err) } fmt.Println(string(responseBytes)) } ```Zorg ervoor dat u uw daadwerkelijke API-sleutel vervangt waar ‘YOUR_OPEN_AI\_KEY’ staat. Het formaat van de berichtgegevens wordt ook door het systeem en de gebruiker verzonden, dus zorg ervoor dat u uw berichten op de juiste manier formatteert.