gowrkv.go เป็น wrapper รอบ RWKV-CPP ซึ่งเป็นการปรับ GGML.CPP
RKWV.CPP โดยทั่วไปเร็วกว่าเนื่องจากรักษาสถานะระดับกลางของแบบจำลองดังนั้นพรอมต์ทั้งหมดจึงไม่จำเป็นต้องประมวลผลซ้ำทุกครั้ง สำหรับรายละเอียดเพิ่มเติมดู RWKV-CPP
นอกจากนี้รุ่นที่มีอยู่สำหรับ RWKV.CPP นั้นเป็นโอเพ่นซอร์สอย่างสมบูรณ์ซึ่งแตกต่างจาก Llama คุณสามารถใช้โมเดลเหล่านี้ในเชิงพาณิชย์และคุณสามารถปรับเปลี่ยนเนื้อหาของหัวใจ
การฝึกอบรมอาจเร็วขึ้นฉันยังไม่ได้มีโอกาสลองเลย
ปัจจุบันการติดตั้งมีความซับซ้อน go-rkwv.cpp ยังไม่ทำงานกับ go get (ยินดีต้อนรับอย่างมาก) คุณจะต้องไปคอมไพเลอร์ C ++ (Clang บน Mac) และ CMake
คุณต้องโคลน repo /recursively /เนื่องจากมี submodules
git clone --recursive https://github.com/donomii/go-rwkv.cppมีบิลด์สคริปต์ build.sh ซึ่งจะสร้างไลบรารี C ++ และ wrapper go กรุณายื่นรายงานข้อผิดพลาดหากไม่ได้ผลสำหรับคุณ
./build-mac.shขณะนี้มีการสร้างสำรองซึ่งสร้างขึ้นอย่างคงที่ด้วย makefile ที่จัดทำโดย @Mudler
make example/aiสคริปต์ดาวน์โหลดจะดาวน์โหลดบางรุ่นและแปลงเป็นรูปแบบที่ถูกต้อง
cd aimodels
sh downloadconvert.shปัจจุบัน Go-RWKV.CPP สร้างกับ Librwkv.dylib ของห้องสมุดไดนามิก นี่ไม่เหมาะ แต่ตอนนี้ก็ใช้ได้ คุณจะต้องคัดลอกไลบรารีนี้ไปยังตำแหน่งที่ Linker ระบบสามารถค้นหาได้ บน Mac นี่คือ/usr/local/lib
cp librwkv.dylib /usr/local/lib
export DYLD_LIBRARY_PATH=/Users/donomii/git/go-rwkv.cpp/rwkv.cpp/หากคุณไม่ต้องการติดตั้งทั่วโลกคุณสามารถตั้งค่าตัวแปรสภาพแวดล้อม dyld_library_path เป็นไดเรกทอรีที่มี librwkv.dylib
ดูตัวอย่าง/ ไดเรกทอรีสำหรับโปรแกรมแชททำงานเต็มรูปแบบ ต่อไปนี้เป็นตัวอย่างที่น้อยที่สุด
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 )
}คุณต้องใช้ไฟล์ tokenizer จาก rwkv.cpp Go-RWKV มีการใช้ tokenizer อีกครั้ง แต่เป็นการใช้งานน้อยที่สุดที่มีรหัสเพียงพอที่จะทำงานกับ RWKV (และอาจมีข้อบกพร่องในนั้น)
ในการจัดส่งโปรแกรมการทำงานที่มี AI นี้คุณจะต้องรวมไฟล์ต่อไปนี้:
หากคุณไม่ติดตั้ง librwkv.dylib ทั่วโลกคุณจะต้องตั้งค่าตัวแปรสภาพแวดล้อม dyld_library_path เป็นไดเรกทอรีที่มี librwkv.dylib
โปรแกรมนี้ได้รับใบอนุญาตภายใต้ใบอนุญาต MIT ดูใบอนุญาตสำหรับรายละเอียด
เท่าที่ฉันทราบรุ่น Raven ก็เป็นโอเพนซอร์สเช่นกัน