Un complemento simple de RStudio para transformar instantáneamente el inglés entrecortado en código de trabajo, visualización, análisis y más utilizando los modelos GPT de OpenAI. Cuando se activa, el complemento intentará reemplazar la solicitud de texto resaltada con un código de trabajo.
Intenta proporcionar contexto de código ligeramente minimizado previamente escrito (actualmente solo elimina comentarios explícitos y espacios en blanco). Si el contexto del código es demasiado grande, se truncará de modo que el mensaje total sea de forma predeterminada de aproximadamente ~2750 tokens, dejando el resto de los 4096 tokens (asumiendo gpt-3-turbo) para la respuesta. El truncamiento preciso se realiza a través de la biblioteca 'tiktoken' de Open AI mediante código Python vinculado. Se requiere Python > 3.8 para esto.
Las actualizaciones futuras incluirán una compresión de contexto más sofisticada.
Instale el complemento en RStudio:
remotes::install_github("1223423/statGPT")
Luego configure las variables de entorno temporales requeridas en RStudio:
Sys.setenv(OPENAI_API_KEY = "your api key here") # API key
Sys.setenv(OPENAI_MODEL = "gpt-3.5-turbo") # Model (optional; default: gpt-3.5-turbo)
Sys.setenv(OPENAI_TEMPERATURE = 0.25) # Temperature (optional; default 0.25)
Sys.setenv(STATGPT_DEBUG = 0) # Debug logging (optional; default: 0)
Sys.setenv(STATGPT_CTXLIM = 2750) # Input context limit (optional; default ~2750 tokens)
Alternativamente, puede configurar claves persistentes en su archivo .Renviron
.
statGPT requiere tiktoken
de Open AI y, por lo tanto, Python 3.8 o superior. También utiliza los paquetes R reticulate
, httr
y jsonlite
.
¿Qué hace OPENAI_TEMPERATURE? La temperatura oscila entre 0 y 2 y controla el nivel de aleatoriedad y creatividad en la salida, siendo los valores de 0 o cercanos a 0 casi deterministas. El valor predeterminado es 0,25.
¿Qué hace STATGPT_CTXLIM? Cada modelo de OpenAI viene con una limitación de token compartida entre la entrada y la respuesta. Por ejemplo, gpt-3.5-turbo
tiene un límite de 4096 tokens. CTXLIM pone un límite superior en la entrada, de forma predeterminada 2750 tokens, lo que deja ~1346 tokens para la respuesta; sin embargo, incluso usando el tokenizador de OpenAI, esto puede variar en algunos tokens (ver: 'openai-cookbook'). Si está utilizando gpt-4, querrá establecer este límite en algo mucho más alto.
¿Por qué el código que tengo no funciona? No sé, intenta preguntarlo de nuevo de otra manera.