rwkv
v0.0.8
純為RWKV並支持跨平台。
rwkv.go是圍繞rwkv.cpp的包裝,它是ggml.cpp的改編。
go get github.com/seasonjs/rwkv請參閱deps文件夾以兼容Dylib,也可以自己構建庫,歡迎推動請求。
NewRwkvAutoModel gpu在窗口上都支持AMD和NVIDIA 。
NewRwkvModel需要您手動加載動態庫,而動態庫則取決於平台。
Windows AMD GPU用戶可能需要檢查ROCM架構以獲取更多信息。
Windows NVIDIA GPU用戶可能需要檢查CUDA架構以獲取更多信息。
| 平台 | x32 | x64 | 手臂 | AMD/ROCM | nvidia/cuda |
|---|---|---|---|---|---|
| 視窗 | 不支持 | 支持AVX/AVX2/AVX512 | 不支持 | ROCM5.5支持 | CUDA12支持 |
| Linux | 不支持 | 支持 | 不支持 | 不支持 | 不支持 |
| 達爾文 | 不支持 | 支持 | 支持 | 不支持 | 不支持 |
這些動態庫來自rwkv.cpp版本,可以通過查看rwkv.version文件獲得動態庫版本,任何人都可以通過checksum the文件的md5檢查文件的一致性。
我只能說,動態庫的創建是公開的,不包含任何主觀惡意邏輯。如果您擔心使用過程中動態庫的安全性,則可以自己構建。
我和與動態圖書館有關的任何作者都不承擔使用過程中任何問題,責任或法律責任。
您可以在示例文件夾中找到一個完整的示例。
這是一個簡單的例子:
package main
import (
"fmt"
"github.com/seasonjs/rwkv"
)
func main () {
model , err := rwkv . NewRwkvAutoModel (rwkv. RwkvOptions {
MaxTokens : 500 ,
StopString : " n n " ,
Temperature : 0.8 ,
TopP : 0.5 ,
TokenizerType : rwkv . World , //or World
PrintError : true ,
CpuThreads : 10 ,
GpuEnable : false ,
})
if err != nil {
fmt . Print ( err . Error ())
return
}
defer model . Close ()
err = model . LoadFromFile ( "./models/RWKV-5-World-0.4B-v2-20231113-ctx4096-F16.bin" )
if err != nil {
fmt . Print ( err . Error ())
return
}
prompt := `The following is a coherent verbose detailed conversation between a Chinese girl named Alice and her friend Bob.
Alice is very intelligent, creative and friendly.
Alice likes to tell Bob a lot about herself and her opinions.
Alice usually gives Bob kind, helpful and informative advices.
Bob: lhc
Alice: LHC是指大型强子对撞机(Large Hadron Collider),是世界最大最强的粒子加速器,由欧洲核子中心(CERN)在瑞士日内瓦地下建造。
LHC的原理是加速质子(氢离子)并让它们相撞,让科学家研究基本粒子和它们之间的相互作用,并在2012年证实了希格斯玻色子的存在。
Bob: 企鹅会飞吗
Alice: 企鹅是不会飞的。企鹅的翅膀短而扁平,更像是游泳时的一对桨。企鹅的身体结构和羽毛密度也更适合在水中游泳,而不是飞行。
`
user := `Bob: 请介绍北京的旅游景点?
Alice: `
ctx , err := model . InitState ( prompt )
if err != nil {
print ( err . Error ())
return
}
out , err := ctx . Predict ( user )
if err != nil {
print ( err . Error ())
return
}
print ( out )
}要運送包含此AI的工作程序,您將需要包括以下文件:
該軟件包還提供與RWKV-CPP相同的低級API。請參閱RWKV-DOC的詳細信息。
特別感謝Jetbrains支持贊助的支持。
版權(c)Seasonjs。版權所有。根據MIT許可獲得許可。有關許可信息,請參見項目根中的LICEND.TXT。