الهدف من هذا المشروع هو إنشاء استبدال بسيط وتفاعلي (حلقة المطبوعة القراءة) التي تتيح للمستخدمين التفاعل مع مجموعة متنوعة من نماذج اللغة الكبيرة ( LLMS ). تم تصميم المشروع بشكل أساسي على قمة مكتبتين Python: Langchain ، والذي يوفر واجهة مريحة ومرنة للعمل مع LLMs ، و Rich التي توفر واجهة سهلة الاستخدام للاستخدام. يمكن أيضًا تشغيل REPL في وضع Qualetss ويمكن التفاعل مع استخدام WebSocket .
حاليًا ، يتم تطوير المشروع ويؤيد فقط التفاعل مع ChatGPT ، لكن كان بنية لتسهيل تمديده استخدام أي LLMS ، بما في ذلك المخصصات المخصصة (عن طريق تمديد BaseLLM في ./src/llm_repl/llms/__init__.py ).
يمكن تفاعل ChatGPT باستخدام النماذج gpt-3.5-turbo و gpt4 (للمستخدمين الذين حصلوا على GPT-4 API BETA).
يدعم Repl الميزات التالية:
لن ينتظر REPL أن ينهي النموذج إنشاء الإخراج ، لكنه سيبدأ في طباعة الإخراج بمجرد توفره.

REPL يدعم ذاكرة المحادثة. هذا يعني أن النموذج سيتذكر المحادثة السابقة وسيستخدمها لإنشاء الاستجابة التالية.

يدعم REPL مقلوب تقديم كل من المدخلات والإخراج.
PS: في هذا الإصدار الأولي من REPL ، يكون بناء جملة Markdown الكامل فقط عند تشغيل الأداة في وضع non-streaming . في وضع streaming ، سيتم طباعة أقسام الكود فقط.

يمكن تشغيل REPL في وضع مقطوعة الرأس. هذا يعني أنه يمكن التفاعل مع استخدام WebSocket. يعد هذا مفيدًا لدمج REPL مع التطبيقات الأخرى / واجهة المستخدم الأخرى.
لبدء التشغيل في الوضع غير مقطوع الرأس ، قم بتشغيل الأمر التالي:
llm-repl --repl websocket --port < PORT >قريباً...
قريباً...
pip install llm-replأول تصدير مفتاح Openai API الخاص بك كمتغير للبيئة:
export OPENAI_API_KEY= < OPENAI_KEY >ثم قم بتشغيل Reply:
llm-replأو إذا كنت تريد استخدام نموذج معين:
llm-repl --llm chatgpt4docker run -it --rm -e OPENAI_API_KEY= < OPENAI_KEY > phate/llm-repl أو إذا كنت ترغب في الحصول على متغيرات البيئة من ملف ، فقم أولاً بإنشاء ملف يسمى .env مع المحتوى التالي:
OPENAI_API_KEY= < OPENAI_KEY >ثم قم بتشغيل الأمر التالي:
docker run -it --rm --env-file .env phate/llm-replلتثبيت REPL في وضع التطوير
ثم قم بتثبيت الحزمة في وضع التطوير:
pip install -e " .[DEV] "قبل المساهمة ، يرجى التأكد من تشغيل الأوامر التالية:
pre-commit install