RWKV에 대한 순수한 이동 및 크로스 플랫폼을 지원하십시오.
RWKV.GO는 RWKV.CPP 주변의 래퍼이며 GGML.CPP의 적응입니다.
go get github.com/seasonjs/rwkv Dylib 호환성은 deps 폴더를 참조하거나 직접 라이브러리를 구축 할 수 있으며 푸시 요청을 환영합니다.
NewRwkvAutoModel GPU는 Windows에서 AMD 및 NVIDIA 지원합니다.
NewRwkvModel 동적 라이브러리를 수동으로로드해야하며 동적 라이브러리는 플랫폼 의존적입니다.
Windows AMD GPU 사용자는 더 많은 정보를 얻으려면 ROCM 아키텍처를 확인해야 할 수도 있습니다.
Windows NVIDIA GPU 사용자는 더 많은 정보를 얻으려면 CUDA 아키텍처를 점검해야 할 수도 있습니다.
| 플랫폼 | x32 | x64 | 팔 | AMD/ROCM | NVIDIA/CUDA |
|---|---|---|---|---|---|
| 창 | 지원하지 않습니다 | AVX/AVX2/AVX512를 지원합니다 | 지원하지 않습니다 | ROCM5.5 지원 | CUDA12 지원 |
| 리눅스 | 지원하지 않습니다 | 지원하다 | 지원하지 않습니다 | 지원하지 않습니다 | 지원하지 않습니다 |
| 다윈 | 지원하지 않습니다 | 지원하다 | 지원하다 | 지원하지 않습니다 | 지원하지 않습니다 |
이러한 동적 라이브러리는 RWKV.CPP 릴리스에서 제공되며, 동적 라이브러리 버전은 rwkv.version 파일을보고 파일의 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) 시즌 JS. 모든 권리 보유. MIT 라이센스에 따라 라이센스. 라이센스 정보는 프로젝트 루트의 license.txt를 참조하십시오.