gowrkv.go adalah pembungkus di sekitar rwkv-cpp, yang merupakan adaptasi dari ggml.cpp.
RKWV.CPP umumnya lebih cepat, karena menjaga keadaan menengah model, sehingga seluruh prompt tidak harus diproses ulang setiap saat. Untuk detail lebih lanjut, lihat RWKV-CPP.
Juga, model yang tersedia untuk rwkv.cpp sepenuhnya open-source, tidak seperti Llama. Anda dapat menggunakan model -model ini secara komersial, dan Anda dapat memodifikasinya dengan konten hati Anda.
Pelatihan mungkin juga lebih cepat, saya belum memiliki kesempatan untuk mencobanya.
Instalasi saat ini rumit. go-rkwv.cpp belum bekerja dengan go get (tambalan sangat disambut). Anda akan perlu pergi, kompiler C ++ (dentang pada mac), dan cmake.
Anda harus mengkloning repo /rekursif ini /, karena mengandung submodul.
git clone --recursive https://github.com/donomii/go-rwkv.cppAda skrip build, build.sh, yang akan membangun perpustakaan C ++ dan pembungkus go. Harap ajukan laporan bug jika tidak berhasil untuk Anda.
./build-mac.shSekarang ada build alternatif, yang dibangun secara statis berkat makefile yang disediakan oleh @Mudler.
make example/aiScript unduhan akan mengunduh beberapa model, dan mengonversinya ke format yang benar.
cd aimodels
sh downloadconvert.shgo-rwkv.cpp saat ini dibangun terhadap perpustakaan dinamis librwkv.dylib. Ini tidak ideal, tetapi berfungsi untuk saat ini. Anda perlu menyalin perpustakaan ini ke lokasi di mana penghubung sistem dapat menemukannya. Di Mac, ini/usr/lokal/lib.
cp librwkv.dylib /usr/local/lib
export DYLD_LIBRARY_PATH=/Users/donomii/git/go-rwkv.cpp/rwkv.cpp/Jika Anda tidak ingin menginstalnya secara global, Anda dapat mengatur variabel lingkungan Dyld_library_path ke direktori yang berisi librwkv.dylib.
Lihat contoh/ direktori untuk program obrolan kerja penuh. Berikut ini adalah contoh minimal.
package main
import (
"fmt"
"github.com/donomii/go-rwkv.cpp"
)
func main () {
model := LoadFiles ( "aimodels/small.bin" , "rwkv.cpp/rwkv/20B_tokenizer.json" , 8 )
model . ProcessInput ( "You are a chatbot that is very good at chatting. blah blah blah" )
response := model . Generate ( 100 , " n " )
fmt . Println ( response )
}Anda harus menggunakan file tokenizer dari rwkv.cpp. Go-RWKV berisi implementasi ulang tokenizer, tetapi ini adalah implementasi minimal yang berisi cukup kode untuk bekerja dengan RWKV (dan mungkin ada bug di dalamnya).
Untuk mengirimkan program kerja yang mencakup AI ini, Anda harus memasukkan file -file berikut:
Jika Anda tidak menginstal librwkv.dylib secara global, Anda perlu mengatur variabel lingkungan dyld_library_path ke direktori yang berisi liblwkv.dylib.
Program ini dilisensikan di bawah lisensi MIT. Lihat lisensi untuk detailnya.
Sejauh yang saya ketahui, model Raven juga open source.