OpenAI의 GPT 모델을 사용하여 깨진 영어를 작업 코드, 시각화, 분석 등으로 즉시 변환하는 간단한 RStudio 추가 기능입니다. 활성화되면 추가 기능은 강조 표시된 텍스트 요청을 작업 코드로 바꾸려고 시도합니다.
이전에 작성된 약간 축소된 코드의 컨텍스트를 제공하려고 시도합니다(현재는 명시적인 주석 및 공백만 제거). 코드 컨텍스트가 너무 크면 전체 프롬프트가 기본적으로 약 2750개 토큰이 되도록 잘립니다. 나머지 4096개 토큰(gpt-3-turbo 가정)은 응답용으로 남겨둡니다. 정확한 절단은 연결된 Python 코드를 통해 Open AI의 'tiktoken' 라이브러리를 통해 수행됩니다. 이를 위해서는 Python > 3.8이 필요합니다.
향후 업데이트에는 더욱 정교한 컨텍스트 압축이 포함될 예정입니다.
RStudio에 추가 기능을 설치합니다.
remotes::install_github("1223423/statGPT")
그런 다음 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)
또는 .Renviron
파일에서 영구 키를 설정할 수 있습니다.
statGPT에는 Open AI의 tiktoken
필요하므로 Python 3.8 이상이 필요합니다. 또한 R 패키지 reticulate
, httr
및 jsonlite
사용합니다.
OPENAI_TEMPERATURE는 무엇을 합니까? 온도 범위는 0~2이며 출력의 무작위성과 창의성 수준을 제어하며 0에 가까운 값은 거의 결정적입니다. 기본값은 0.25로 남아 있습니다.
STATGPT_CTXLIM은 무엇을 합니까? 각 OpenAI 모델에는 입력과 응답 간에 공유되는 토큰 제한이 있습니다. 예를 들어, gpt-3.5-turbo
의 토큰은 4096개로 제한됩니다. CTXLIM은 기본적으로 2750개의 토큰으로 입력에 대한 상한을 설정합니다. 이는 응답에 ~1346개의 토큰을 남기지만 OpenAI의 토크나이저를 사용하더라도 이는 몇 개의 토큰으로 벗어날 수 있습니다('openai-cookbook' 참조). gpt-4를 사용하는 경우 이 제한을 훨씬 더 높게 설정하는 것이 좋습니다.
받은 코드가 작동하지 않는 이유는 무엇입니까? 모르겠어 다르게 다시 물어봐봐 ㅋㅋ