Um complemento simples do RStudio para transformar instantaneamente o inglês quebrado em código funcional, visualização, análise e muito mais usando os modelos GPT da OpenAI. Quando ativado, o complemento tentará substituir a solicitação de texto destacada por um código funcional.
Tentativas de fornecer contexto de código ligeiramente reduzido escrito anteriormente (atualmente removendo apenas comentários explícitos e espaços em branco). Se o contexto do código for muito grande, ele será truncado de modo que o prompt total seja, por padrão, em torno de aproximadamente 2.750 tokens, deixando o restante dos 4.096 tokens (assumindo gpt-3-turbo) para a resposta. O truncamento preciso é feito por meio da biblioteca 'tiktoken' da Open AI por meio de código python vinculado. Python> 3.8 é necessário para isso.
As atualizações futuras incluirão compactação de contexto mais sofisticada.
Instale o complemento no RStudio:
remotes::install_github("1223423/statGPT")
Em seguida, configure as variáveis de ambiente temporárias necessárias no 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, você pode definir chaves persistentes em seu arquivo .Renviron
.
statGPT requer tiktoken
da Open AI e, portanto, Python 3.8 ou superior. Ele também usa os pacotes R reticulate
, httr
e jsonlite
.
O que OPENAI_TEMPERATURE faz? A temperatura varia de 0 a 2 e controla o nível de aleatoriedade e criatividade na produção, com valores iguais ou próximos de 0 sendo quase determinísticos. O padrão é 0,25.
O que STTGPT_CTXLIM faz? Cada modelo OpenAI vem com uma limitação de token compartilhada entre entrada e resposta. Por exemplo, gpt-3.5-turbo
tem um limite de 4.096 tokens. CTXLIM coloca um limite superior na entrada, por padrão 2.750 tokens, o que deixa ~ 1.346 tokens para a resposta, no entanto, mesmo usando o tokenizer da OpenAI, isso pode diminuir em alguns tokens (consulte: 'openai-cookbook'). Se você estiver usando o gpt-4, você deseja definir esse limite para algo muito maior.
Por que o código que recebi não está funcionando? Não sei, tente perguntar de novo de forma diferente, lmao