ملحق RStudio بسيط لتحويل اللغة الإنجليزية المكسورة على الفور إلى كود عمل وتصور وتحليل والمزيد باستخدام نماذج GPT الخاصة بـ OpenAI. عند التنشيط، سيحاول الملحق استبدال طلب النص المميز برمز العمل.
محاولات لتوفير سياق التعليمات البرمجية المصغرة قليلاً المكتوبة مسبقًا (حاليًا تتم إزالة التعليقات الصريحة والمسافات البيضاء فقط). إذا كان سياق التعليمات البرمجية كبيرًا جدًا، فسيتم اقتطاعه بحيث يكون إجمالي الموجه افتراضيًا حوالي 2750 رمزًا مميزًا تقريبًا، مع ترك باقي الرموز المميزة البالغ عددها 4096 رمزًا (بافتراض gpt-3-turbo) للاستجابة. يتم إجراء الاقتطاع الدقيق عبر مكتبة "tiktoken" الخاصة بـ Open AI عبر كود python المرتبط. مطلوب 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 tiktoken
الخاص بـ Open AI وبالتالي 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 فأنت تريد تعيين هذا الحد إلى شيء أعلى من ذلك بكثير.
لماذا الكود الذي حصلت عليه لا يعمل؟ لا أعلم حاول طرح الأمر مرة أخرى بطريقة مختلفة