Tambahan RStudio sederhana untuk secara instan mengubah bahasa Inggris yang rusak menjadi kode yang berfungsi, visualisasi, analisis, dan lainnya menggunakan model GPT OpenAI. Saat diaktifkan, addin akan mencoba mengganti permintaan teks yang disorot dengan kode yang berfungsi.
Upaya untuk memberikan konteks kode yang ditulis sebelumnya sedikit diperkecil (saat ini hanya menghapus komentar eksplisit & spasi). Jika konteks kode terlalu besar maka akan terpotong sehingga total prompt secara default adalah sekitar ~2750 token, meninggalkan sisa 4096 token (dengan asumsi gpt-3-turbo) untuk respons. Pemotongan yang tepat dilakukan melalui perpustakaan 'tiktoken' Open AI melalui kode python yang ditautkan. Python > 3.8 diperlukan untuk ini.
Pembaruan di masa mendatang akan mencakup kompresi konteks yang lebih canggih.
Instal addin di RStudio:
remotes::install_github("1223423/statGPT")
Kemudian atur variabel lingkungan sementara yang diperlukan di 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)
Alternatifnya, Anda dapat mengatur kunci persisten di file .Renviron
Anda.
statGPT memerlukan tiktoken
Open AI dan oleh karena itu Python 3.8 atau lebih tinggi. Itu juga menggunakan paket R reticulate
, httr
, dan jsonlite
.
Apa yang dilakukan OPENAI_TEMPERATURE? Suhu berkisar 0-2 dan mengontrol tingkat keacakan dan kreativitas dalam keluaran, dengan nilai pada atau mendekati 0 hampir bersifat deterministik. Defaultnya tersisa di 0,25.
Apa yang dilakukan STATGPT_CTXLIM? Setiap model OpenAI hadir dengan batasan token yang dibagi antara input dan respons. Misalnya, gpt-3.5-turbo
memiliki batas 4096 token. CTXLIM menempatkan batas atas pada input, secara default 2750 token, yang menyisakan ~1346 token untuk respons, namun, bahkan menggunakan tokenizer OpenAI, ini dapat dihilangkan dengan beberapa token (lihat: 'openai-cookbook'). Jika Anda menggunakan gpt-4 Anda ingin menetapkan batas ini ke sesuatu yang jauh lebih tinggi.
Mengapa kode yang saya dapatkan tidak berfungsi? Entahlah coba tanyakan lagi secara berbeda lmao