Para conectarse a la API de OpenAI GPT-3 o ChatGPT con Golang, necesitará enviar solicitudes HTTP a los puntos finales de la API. Aquí hay un ejemplo simple de cómo puede hacerlo utilizando la biblioteca net/http de Golang:
```go
package main
import (
“bytes“
“encoding/json“
“fmt“
“io/ioutil“
“net/http“
)
// Crear una estructura para la solicitud
type ChatGPTRequest struct {
Model string `json:“model”`
Messages []Message`json:“messages”`
}
// Crear una estructura para un mensaje
type Message struct {
Role string `json:“role”`
Content string `json:“content”`
}
func main() { // Definir los detalles de la petición payload := ChatGPTRequest{ Model: “text-davinci-002”, Messages: []Message{ { Role: “system”, Content: “You are a helpful assistant.”, }, { Role: “user”, Content: “Who won the world series in 2020?”, }, }, }
// Convertir la carga útil a bytes para la solicitud jsonPayload, _ := json.Marshal(payload)
req, _ := http.NewRequest(“POST”, “https://api.openai.com/v1/engines/davinci-codex/completions”, bytes.NewBuffer(jsonPayload))
// Agregar los encabezados necesarios a la solicitud req.Header.Add(“Content-Type”, “application/json”) req.Header.Add(“Authorization”, “Bearer your_openai_api_key_here”)
client := &http.Client{} resp, err := client.Do(req) if err != nil { panic(err) } defer resp.Body.Close()
// Leer y mostrar el resultado body, _ := ioutil.ReadAll(resp.Body) fmt.Println(string(body)) } ```Por favor, reemplace `“your_openai_api_key_here”` con su propia clave API.
Nota: Actualmente OpenAI no tiene una biblioteca oficial del cliente para Go. Este es un ejemplo simple y no tiene en cuenta aspectos como el manejo de errores detallado y todos los parámetros opcionales que se pueden enviar en una solicitud a ChatGPT (como la temperatura y el token máximo). Puede que necesite modificar este código según sus necesidades específicas.