Proyek ini bertujuan untuk menghilangkan hambatan dalam penggunaan model bahasa besar dengan mengotomatiskan segalanya untuk Anda. Yang Anda butuhkan hanyalah program ringan yang dapat dijalankan hanya beberapa megabyte. Selain itu, proyek ini menyediakan antarmuka yang kompatibel dengan OpenAI API, yang berarti bahwa setiap klien ChatGPT adalah klien RWKV.
Bahasa Inggris | 简体中文 | 日本語
Pertanyaan Umum | Pratinjau | Unduh | Contoh Penerapan Sederhana | Contoh Penerapan Server | Masukan Perangkat Keras MIDI
Anda dapat menggunakan backend-python di server dan menggunakan program ini sebagai klien saja. Isi alamat server Anda di API URL
.
Jika Anda menerapkan dan menyediakan layanan publik, harap batasi ukuran permintaan melalui gateway API untuk mencegah penggunaan sumber daya berlebihan yang disebabkan oleh pengiriman perintah yang terlalu panjang. Selain itu, harap batasi batas atas max_tokens permintaan berdasarkan situasi aktual Anda: https://github.com/josStorer/RWKV-Runner/blob/master/backend-python/utils/rwkv.py#L567, defaultnya adalah ditetapkan sebagai le=102400, yang dapat mengakibatkan konsumsi sumber daya yang signifikan untuk respons individu dalam kasus ekstrim.
Konfigurasi default telah mengaktifkan akselerasi kernel CUDA khusus, yang jauh lebih cepat dan menggunakan VRAM jauh lebih sedikit. Jika Anda mengalami kemungkinan masalah kompatibilitas (output kacau), buka halaman Configs dan matikan Use Custom CUDA kernel to Accelerate
, atau coba perbarui driver GPU Anda.
Jika Windows Defender mengklaim ini adalah virus, Anda dapat mencoba mengunduh v1.3.7_win.zip dan membiarkannya diperbarui secara otomatis ke versi terbaru, atau menambahkannya ke daftar tepercaya ( Windows Security
-> Virus & threat protection
-> Manage settings
- > Exclusions
-> Add or remove exclusions
-> Add an exclusion
-> Folder
-> RWKV-Runner
).
Untuk tugas yang berbeda, menyesuaikan parameter API dapat mencapai hasil yang lebih baik. Misalnya, untuk tugas penerjemahan, Anda dapat mencoba mengatur Suhu ke 1 dan Top_P ke 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
body.json:
{
"messages" : [
{
"role" : " user " ,
"content" : " Hello "
}
]
}
Catatan: v1.4.0 telah meningkatkan kualitas API embeddings. Hasil yang dihasilkan tidak kompatibel dengan versi sebelumnya. Jika Anda menggunakan API embeddings untuk menghasilkan basis pengetahuan atau sejenisnya, silakan buat ulang.
Jika Anda menggunakan langchain, cukup gunakan 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 ] } " )
Tip: Anda dapat mengunduh https://github.com/josStorer/sgm_plus dan mengekstraknya ke direktori assets/sound-font
program untuk menggunakannya sebagai sumber suara offline. Harap dicatat bahwa jika Anda mengkompilasi program dari kode sumber, jangan letakkan di direktori kode sumber.
Jika Anda tidak memiliki keyboard MIDI, Anda dapat menggunakan perangkat lunak input MIDI virtual seperti Virtual Midi Controller 3 LE
, bersama dengan loopMIDI, untuk menggunakan keyboard komputer biasa sebagai input MIDI.
Tip: Anda dapat mengunduh https://github.com/josStorer/sgm_plus dan mengekstraknya ke direktori assets/sound-font
program untuk menggunakannya sebagai sumber suara offline. Harap dicatat bahwa jika Anda mengkompilasi program dari kode sumber, jangan letakkan di direktori kode sumber.