التحديث (نوفمبر 2023): الإصدار الجديد GPT-3.5-Turbo هو المفضل. لقد أضفت إصدارًا جديدًا يدعم Chat Completion API (تم اختباره باستخدام GPT-3.5-Turbo). المجلدات الفرعية المناسبة ( gpt-3
, gpt-35-turbo
) تحتوي الآن على النسخة الأصلية والجديدة. بخلاف تغيير النموذج والتعديلات المقابلة، فهي نفسها، ولكن يفضل gpt-35-turbo
، لأنه تم إهمال إكمال GPT-3.
Braindump هو تطبيق نموذجي لتدوين الملاحظات وتحويلها إلى قاعدة بيانات يمكن الاستعلام عنها بسهولة أكبر. ما عليك سوى كتابة ما يدور في ذهنك وسيقوم التطبيق بتصنيفه وتقسيمه إلى شرائح وتخزينه بشكل صحيح لاستخدامه لاحقًا. تم تصميمه كعرض توضيحي لإظهار كيفية الاستفادة من GPT-3 لإنشاء تطبيقات بدءًا من إثباتات المفهوم، كما هو موضح في برنامجي التعليمي Data Science @ Microsoft، "إنشاء تطبيقات GPT-3 - خارج نطاق الموجه". يمكنك استخدامه لمتابعة البرنامج التعليمي وكنقطة بداية للدراسات والتطبيقات الخاصة بك (على سبيل المثال، عن طريق إعادة استخدام وظائف الأداة المساعدة وهياكل البرنامج الشاملة في مشاكلك المختلفة).
إنه تطبيق Python بسيط يستفيد من Streamlit لتوفير واجهة ويب. لاستدعاء نموذج GPT-3 فعليًا، يجب أن يكون لديك مفتاح OpenAI API فعال. في وقت كتابة هذا التقرير، بمجرد إنشاء حسابك، ستحصل على بعض الاعتمادات المجانية التي يجب أن تكون كافية لمتابعة البرنامج التعليمي والبدء في التطبيق. يجب أن يعمل التطبيق أيضًا مع خدمة Azure OpenAI بدلاً من عرض OpenAI الأصلي، على الرغم من أنني لم أختبره هناك بعد.
إلى جانب التطبيق نفسه، يتضمن هذا المستودع الدراسات، في شكل دفاتر ملاحظات Jupyter، التي أدت إلى ذلك.
تبدو واجهة المستخدم للبحث كما يلي:
لإضافة حقائق، تكون واجهة المستخدم كما يلي، بما في ذلك الفحص اليدوي الاختياري لتفسير النموذج:
تم اختبار التطبيق على Python 3.8 (GPT-3) و3.10 (GPT-3.5-Turbo). المكتبات الرئيسية التي ستحتاج إليها هي: openai
و streamlit
و pandas
و notebook
و pytest
. يمكنك تثبيتها يدويًا، أو اتباع الإجراء الموضح أدناه لإنشاء بيئة جديدة وتثبيتها تلقائيًا. لاحظ أنه بالنسبة لقاعدة التعليمات البرمجية الأقدم، ستحتاج إلى إصدار أقدم من مكتبة openai
.
لتشغيل التطبيق:
conda create -n braindump_py310 python=3.10
conda activate braindump_py310
requirements.txt
. يمكنك القيام بذلك عن طريق تشغيل pip install -r requirements.txt
من جذر المشروع. بالنسبة لإصدار GPT-3 الأصلي (المهمل)، استخدم requirements.gpt3.txt
بدلاً من ذلك، للحصول على التبعيات الأقدم اللازمة لتشغيله.OPENAI_API_KEY
.run.gpt3.bat
(إصدار GPT-3) أو run.gpt35turbo.bat
(إصدار GPT-3.5-Turbo)؛ على Linux: run.gpt3.sh
(إصدار GPT-3) أو run.gpt35turbo.sh
(إصدار GPT-3.5-Turbo).لإجراء الدراسات:
notebooks/
مع عميل Jupyter المفضل لديك (أنا شخصياً أستخدم VS Code كثيرًا لذلك). يتم تنظيم المشروع على النحو التالي:
notebooks/
: دفاتر Jupyter المستخدمة في الهندسة السريعة.src/
: الكود المصدري للتطبيق النهائي.src/gpt-3
: مصادر إصدار GPT-3 الأصلي (مهمل).src/gpt-3.5-turbo
: مصادر إصدار GPT-3.5-Turbo ( موصى به منذ نوفمبر 2023).data/
: البيانات المخزنة بواسطة التطبيق.tests/
: اختبارات الوحدة للتطبيق.tests/gpt-3/
: اختبارات لإصدار GPT-3 الأصلي (مهمل).tests/gpt-3.5-turbo/
: اختبارات إصدار GPT-3.5-Turbo ( موصى به منذ نوفمبر 2023).docs/
: الوثائق والأصول ذات الصلة. تم تقديم هذا النهج بالتفصيل في برنامجي التعليمي Data Science @ Microsoft، "إنشاء تطبيقات GPT-3 - خارج نطاق الموجه". ومع ذلك، اسمحوا لي أن أسلط الضوء على بعض النقاط الرئيسية هنا:
وفيما يتعلق بالمراحل المحددة، فمن المستحسن ما يلي
رخصة معهد ماساتشوستس للتكنولوجيا
حقوق الطبع والنشر (ج) 2023 لباولو سالم دا سيلفا
يُمنح الإذن مجانًا لأي شخص يحصل على نسخة من هذا البرنامج وملفات الوثائق المرتبطة به ("البرنامج")، للتعامل في البرنامج دون قيود، بما في ذلك، على سبيل المثال لا الحصر، حقوق الاستخدام والنسخ والتعديل والدمج. ونشر و/أو توزيع وترخيص من الباطن و/أو بيع نسخ من البرنامج، والسماح للأشخاص الذين تم توفير البرنامج لهم بالقيام بذلك، وفقًا للشروط التالية:
يجب تضمين إشعار حقوق الطبع والنشر أعلاه وإشعار الإذن هذا في جميع النسخ أو الأجزاء الكبيرة من البرنامج.
يتم توفير البرنامج "كما هو"، دون أي ضمان من أي نوع، صريحًا أو ضمنيًا، بما في ذلك، على سبيل المثال لا الحصر، ضمانات القابلية للتسويق والملاءمة لغرض معين وعدم الانتهاك. لا يتحمل المؤلفون أو أصحاب حقوق الطبع والنشر بأي حال من الأحوال المسؤولية عن أي مطالبة أو أضرار أو مسؤولية أخرى، سواء في إجراء العقد أو الضرر أو غير ذلك، الناشئة عن أو خارج أو فيما يتعلق بالبرنامج أو الاستخدام أو المعاملات الأخرى في برمجة.