Go to file
2023-05-21 17:04:18 -07:00
benchmark Enhance SamplingParams (#96) 2023-05-11 15:45:30 -07:00
cacheflow Introduce LLM class for offline inference (#115) 2023-05-21 17:04:18 -07:00
csrc Add copyright headers to source files adapted from FT (#104) 2023-05-14 22:19:19 -07:00
examples Introduce LLM class for offline inference (#115) 2023-05-21 17:04:18 -07:00
playground FastAPI-based working frontend (#10) 2023-03-29 14:48:56 +08:00
tests/kernels Use pytest format for unit tests (#107) 2023-05-17 17:11:23 -07:00
.gitignore Add an option to launch cacheflow without ray (#51) 2023-04-30 15:42:17 +08:00
gradio_webserver.py Enhance SamplingParams (#96) 2023-05-11 15:45:30 -07:00
LICENSE Add Apache-2.0 license (#102) 2023-05-14 18:05:19 -07:00
README.md Refactor system architecture (#109) 2023-05-20 13:06:59 -07:00
requirements.txt Specify python package dependencies in requirements.txt (#78) 2023-05-07 16:30:43 -07:00
setup.py Specify python package dependencies in requirements.txt (#78) 2023-05-07 16:30:43 -07:00
test_cli_client.py Refactor system architecture (#82) 2023-05-09 15:30:12 -07:00

CacheFlow

Build from source

pip install -r requirements.txt
pip install -e .  # This may take several minutes.

Test simple server

# Single-GPU inference.
python examples/simple_server.py # --model <your_model>

# Multi-GPU inference (e.g., 2 GPUs).
ray start --head
python examples/simple_server.py -tp 2 # --model <your_model>

The detailed arguments for simple_server.py can be found by:

python examples/simple_server.py --help

FastAPI server

To start the server:

ray start --head
python -m cacheflow.entrypoints.fastapi_server # --model <your_model>

To test the server:

python test_cli_client.py

Gradio web server

Install the following additional dependencies:

pip install gradio

Start the server:

python -m cacheflow.http_frontend.fastapi_frontend
# At another terminal
python -m cacheflow.http_frontend.gradio_webserver

Load LLaMA weights

Since LLaMA weight is not fully public, we cannot directly download the LLaMA weights from huggingface. Therefore, you need to follow the following process to load the LLaMA weights.

  1. Converting LLaMA weights to huggingface format with this script.
    python src/transformers/models/llama/convert_llama_weights_to_hf.py \
        --input_dir /path/to/downloaded/llama/weights --model_size 7B --output_dir /output/path/llama-7b
    
  2. For all the commands above, specify the model with --model /output/path/llama-7b to load the model. For example:
    python simple_server.py --model /output/path/llama-7b
    python -m cacheflow.http_frontend.fastapi_frontend --model /output/path/llama-7b