Un simple complément RStudio pour transformer instantanément un anglais approximatif en code fonctionnel, visualisation, analyse et bien plus encore à l'aide des modèles GPT d'OpenAI. Une fois activé, le complément tentera de remplacer la demande de texte en surbrillance par du code fonctionnel.
Tente de fournir le contexte d'un code légèrement réduit précédemment écrit (actuellement, ne supprimant que les commentaires explicites et les espaces). Si le contexte de code est trop grand, il sera tronqué de telle sorte que l'invite totale soit par défaut d'environ 2 750 jetons, laissant le reste des 4 096 jetons (en supposant gpt-3-turbo) pour la réponse. La troncature précise est effectuée via la bibliothèque « tiktoken » d'Open AI via du code python lié. Python > 3.8 est requis pour cela.
Les futures mises à jour incluront une compression de contexte plus sophistiquée.
Installez le complément dans RStudio :
remotes::install_github("1223423/statGPT")
Configurez ensuite les variables d'environnement temporaires requises dans 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)
Vous pouvez également définir des clés persistantes dans votre fichier .Renviron
.
statGPT nécessite tiktoken
d'Open AI et donc Python 3.8 ou supérieur. Il utilise également les packages R reticulate
, httr
et jsonlite
.
Que fait OPENAI_TEMPERATURE ? La température varie de 0 à 2 et contrôle le niveau de caractère aléatoire et de créativité dans la sortie, les valeurs égales ou proches de 0 étant presque déterministes. La valeur par défaut est laissée à 0,25.
Que fait STATGPT_CTXLIM ? Chaque modèle OpenAI est livré avec une limitation de jeton partagée entre l'entrée et la réponse. Par exemple, gpt-3.5-turbo
a une limite de 4 096 jetons. CTXLIM impose une limite supérieure à l'entrée, par défaut 2 750 jetons, ce qui laisse environ 1 346 jetons pour la réponse. Cependant, même en utilisant le tokenizer d'OpenAI, cela peut être décalé de quelques jetons (voir : « openai-cookbook »). Si vous utilisez gpt-4, vous souhaiterez définir cette limite sur quelque chose de beaucoup plus élevé.
Pourquoi le code que j'ai reçu ne fonctionne-t-il pas ? Je ne sais pas, essayez de le demander à nouveau différemment lmao