8000 GitHub - jonajosejg/web-rwkv-py
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

jonajosejg/web-rwkv-py

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Web-RWKV-Py

Python binding for web-rwkv.

Todos

  • Basic V5 inference support
  • Support V4, V5 and V6
  • Batched inference

Usage

  1. Install python and rust.

  2. Install maturin by

    $ pip install maturin
  3. Build and install:

    $ maturin develop
  4. Try using web-rwkv in python:

    import web_rwkv_py as wrp
    
    model = wrp.v5.Model(
       "/path/to/model.st", # model path
       quant=0,             # int8 quantization layers
       quant_nf4=0,         # nf4 quantization layers
       turbo=True,          # faster when reading long prompts
       token_chunk_size=256 # maximum tokens in an inference chunk (can be 32, 64, 256, 1024, etc.)
    )
    
    588C
    logits, state = wrp.v5.run_one(model, [114, 514], state=None)

Advanced Usage

  1. Move state to host memory:

    logits, state = wrp.v5.run_one(model, [114, 514], state=None) # returned state is on vram
    state_cpu = state.back()
  2. Load state from host memory:

    state = wrp.v5.ModelState(model, 1)
    state.load(state_cpu)
    logits, state = wrp.v5.run_one(model, [114, 514], state=state_cpu)
  3. Return predictions of all tokens (not only the last's):

    logits, state = wrp.v5.run_one_full(model, [114, 514], state=None)
    len(logits) # 2

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Rust 100.0%
0