يهدف هذا المشروع إلى إزالة العوائق التي تحول دون استخدام نماذج لغوية كبيرة عن طريق أتمتة كل شيء من أجلك. كل ما تحتاجه هو برنامج خفيف الوزن وقابل للتنفيذ لا يتجاوز حجمه بضعة ميغابايت. بالإضافة إلى ذلك، يوفر هذا المشروع واجهة متوافقة مع OpenAI API، مما يعني أن كل عميل ChatGPT هو عميل RWKV.
الإنجليزية | 简体中文 | 日本語
الأسئلة الشائعة | معاينة | تحميل | مثال نشر بسيط | أمثلة على نشر الخادم | إدخال الأجهزة MIDI
يمكنك نشر backend-python على الخادم واستخدام هذا البرنامج كعميل فقط. املأ عنوان الخادم الخاص بك في API URL
للإعدادات.
إذا كنت تقوم بنشر وتقديم خدمات عامة، فيرجى تحديد حجم الطلب من خلال بوابة واجهة برمجة التطبيقات (API) لمنع الاستخدام المفرط للموارد الناتج عن إرسال مطالبات طويلة جدًا. بالإضافة إلى ذلك، يرجى تقييد الحد الأقصى لعدد max_tokens للطلبات بناءً على موقفك الفعلي: https://github.com/josStorer/RWKV-Runner/blob/master/backend-python/utils/rwkv.py#L567، الافتراضي هو تم تعيينه على أنه le=102400، مما قد يؤدي إلى استهلاك كبير للموارد للاستجابات الفردية في الحالات القصوى.
لقد مكنت التكوينات الافتراضية تسريع CUDA kernel المخصص، وهو أسرع بكثير ويستهلك ذاكرة VRAM أقل بكثير. إذا واجهت مشكلات توافق محتملة (الإخراج مشوه)، فانتقل إلى صفحة التكوين وقم بإيقاف تشغيل Use Custom CUDA kernel to Accelerate
، أو حاول ترقية برنامج تشغيل وحدة معالجة الرسومات لديك.
إذا ادعى Windows Defender أن هذا فيروس، فيمكنك تجربة تنزيل v1.3.7_win.zip والسماح له بالتحديث تلقائيًا إلى أحدث إصدار، أو إضافته إلى القائمة الموثوقة ( Windows Security
-> Virus & threat protection
-> Manage settings
- > Exclusions
-> Add or remove exclusions
-> Add an exclusion
-> Folder
-> RWKV-Runner
).
بالنسبة للمهام المختلفة، يمكن أن يؤدي ضبط معلمات واجهة برمجة التطبيقات (API) إلى تحقيق نتائج أفضل. على سبيل المثال، بالنسبة لمهام الترجمة، يمكنك محاولة ضبط درجة الحرارة على 1 وTop_P على 0.3.
git clone https://github.com/josStorer/RWKV-Runner
# Then
cd RWKV-Runner
python ./backend-python/main.py # The backend inference service has been started, request /switch-model API to load the model, refer to the API documentation: http://127.0.0.1:8000/docs
# Or
cd RWKV-Runner/frontend
npm ci
npm run build # Compile the frontend
cd ..
python ./backend-python/webui_server.py # Start the frontend service separately
# Or
python ./backend-python/main.py --webui # Start the frontend and backend service at the same time
# Help Info
python ./backend-python/main.py -h
ab -p body.json -T application/json -c 20 -n 100 -l http://127.0.0.1:8000/chat/completions
الجسم.json:
{
"messages" : [
{
"role" : " user " ,
"content" : " Hello "
}
]
}
ملاحظة: لقد أدى الإصدار 1.4.0 إلى تحسين جودة واجهة برمجة تطبيقات التضمين. النتائج التي تم إنشاؤها غير متوافقة مع الإصدارات السابقة. إذا كنت تستخدم واجهة برمجة تطبيقات التضمين لإنشاء قواعد معرفية أو ما شابه ذلك، فيرجى إعادة الإنشاء.
إذا كنت تستخدم langchain، فما عليك سوى استخدام OpenAIEmbeddings(openai_api_base="http://127.0.0.1:8000", openai_api_key="sk-")
import numpy as np
import requests
def cosine_similarity ( a , b ):
return np . dot ( a , b ) / ( np . linalg . norm ( a ) * np . linalg . norm ( b ))
values = [
"I am a girl" ,
"我是个女孩" ,
"私は女の子です" ,
"广东人爱吃福建人" ,
"我是个人类" ,
"I am a human" ,
"that dog is so cute" ,
"私はねこむすめです、にゃん♪" ,
"宇宙级特大事件!号外号外!"
]
embeddings = []
for v in values :
r = requests . post ( "http://127.0.0.1:8000/embeddings" , json = { "input" : v })
embedding = r . json ()[ "data" ][ 0 ][ "embedding" ]
embeddings . append ( embedding )
compared_embedding = embeddings [ 0 ]
embeddings_cos_sim = [ cosine_similarity ( compared_embedding , e ) for e in embeddings ]
for i in np . argsort ( embeddings_cos_sim )[:: - 1 ]:
print ( f" { embeddings_cos_sim [ i ]:.10f } - { values [ i ] } " )
نصيحة: يمكنك تنزيل https://github.com/josStorer/sgm_plus وفك ضغطه إلى دليل assets/sound-font
الخاص بالبرنامج لاستخدامه كمصدر صوت غير متصل بالإنترنت. يرجى ملاحظة أنه إذا كنت تقوم بتجميع البرنامج من كود المصدر، فلا تضعه في دليل كود المصدر.
إذا لم يكن لديك لوحة مفاتيح MIDI، فيمكنك استخدام برنامج إدخال MIDI افتراضي مثل Virtual Midi Controller 3 LE
، إلى جانب حلقة MIDI، لاستخدام لوحة مفاتيح كمبيوتر عادية كمدخل MIDI.
نصيحة: يمكنك تنزيل https://github.com/josStorer/sgm_plus وفك ضغطه إلى دليل assets/sound-font
الخاص بالبرنامج لاستخدامه كمصدر صوت غير متصل بالإنترنت. يرجى ملاحظة أنه إذا كنت تقوم بتجميع البرنامج من كود المصدر، فلا تضعه في دليل كود المصدر.