โปรแกรมเสริม RStudio ง่ายๆ เพื่อแปลงภาษาอังกฤษแบบสมบูรณ์ให้เป็นโค้ดการทำงาน การสร้างภาพ การวิเคราะห์ และอื่นๆ ได้ทันทีโดยใช้โมเดล GPT ของ OpenAI เมื่อเปิดใช้งาน Addin จะพยายามแทนที่คำขอข้อความที่ไฮไลต์ด้วยรหัสที่ใช้งานได้
พยายามที่จะให้บริบทของโค้ดที่ย่อขนาดเล็กน้อยที่เขียนไว้ก่อนหน้านี้ (ขณะนี้ลบเฉพาะความคิดเห็นและช่องว่างที่ชัดเจนเท่านั้น) หากบริบทของโค้ดมีขนาดใหญ่เกินไป ระบบจะตัดทอนให้พรอมต์ทั้งหมดเป็นค่าเริ่มต้นประมาณ ~ 2,750 โทเค็น โดยปล่อยให้ส่วนที่เหลือของโทเค็น 4,096 รายการ (สมมติว่า gpt-3-turbo) สำหรับการตอบกลับ การตัดทอนที่แม่นยำทำได้ผ่านไลบรารี 'tiktoken' ของ Open AI ผ่านโค้ด python ที่เชื่อมโยง ต้องใช้ Python > 3.8 สำหรับสิ่งนี้
การอัปเดตในอนาคตจะรวมการบีบอัดบริบทที่ซับซ้อนมากขึ้น
ติดตั้ง Addin ใน 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 ต้องใช้ tiktoken
ของ Open AI และ Python 3.8 หรือสูงกว่า นอกจากนี้ยังใช้แพ็คเกจ R reticulate
, httr
และ jsonlite
OPENAI_TEMPERATURE ทำหน้าที่อะไร ช่วงอุณหภูมิ 0-2 และควบคุมระดับของการสุ่มและความคิดสร้างสรรค์ในเอาต์พุต โดยค่าที่ใกล้หรือเท่ากับ 0 แทบจะเป็นค่าที่กำหนดได้ ค่าเริ่มต้นเหลืออยู่ที่ 0.25
STATGPT_CTXLIM ทำหน้าที่อะไร OpenAI แต่ละรุ่นมาพร้อมกับข้อจำกัดโทเค็นที่ใช้ร่วมกันระหว่างอินพุตและการตอบสนอง ตัวอย่างเช่น gpt-3.5-turbo
มีโทเค็นจำกัดอยู่ที่ 4,096 รายการ CTXLIM วางขอบเขตบนของอินพุตตามค่าเริ่มต้น 2,750 โทเค็น ซึ่งจะเหลือ ~ 1,346 โทเค็นสำหรับการตอบกลับ อย่างไรก็ตาม แม้จะใช้โทเค็นของ OpenAI ก็สามารถปิดได้ด้วยโทเค็นไม่กี่อัน (ดู: 'openai-cookbook') หากคุณใช้ gpt-4 คุณต้องการตั้งค่าขีดจำกัดนี้ให้สูงกว่านี้มาก
ทำไมรหัสที่ฉันใช้งานไม่ได้? ไม่รู้สิ ลองถามมันอีกครั้งแบบแตกต่างออกไปนะ