Para los que ya estáis dandole a tope al chatGPT, os paso una función para usarlo desde dentro de R usando la API de OpenAI. Lo subo al repo de scripts varios,… acordaos que tenemos ese repo por si queréis compartir algún script o código corto que os resulte útil.
# source: https://sumsar.net/blog/call-chatgpt-from-r/
library(httr)
library(stringr)
api_key_gpt <- "mete tu api key"
ask_chatgpt <- function(prompt, mostrar = F) {
response <- POST(
url = "https://api.openai.com/v1/chat/completions",
add_headers(Authorization = paste("Bearer", api_key_gpt)),
content_type_json(),
encode = "json",
body = list(
model = "gpt-3.5-turbo",
messages = list(list(
role = "user",
content = prompt
))
)
)
respuesta <- str_trim(content(response)$choices[[1]]$message$content)
if(mostrar) return(cat(respuesta))
respuesta
}
# ejemplos
ask_chatgpt("dime cómo se hace un histograma de una distribución normal en R", mostrar = T)
muestras <- rnorm(1000, mean = 50, sd = 10)
rojo_diablo <- ask_chatgpt("Answer only with the color hex code for 'devil red'")
hist(muestras, breaks = 20, col = rojo_diablo, xlim = c(20, 80), main = "Histograma de una distribución normal")
