参考代码

vLLM 0.6.2版本昇腾框架适配代码目录结构如下所示:

Vllm-MindIE-0.6.2
├─ .
├─ cover
│  ├─ requirements-npu.txt
│  ├─ setup.py
│  └─ vllm
│     ├─ attention
│     │  ├─ backends
│     │  │  └─ mindie.py
│     │  └─ selector.py
│     ├─ config.py
│     ├─ distributed
│     │  └─ npu_utils.py
│     ├─ engine
│     │  ├─ arg_utils.py
│     │  ├─ async_llm_engine.py
│     │  ├─ llm_engine.py
│     ├─ executor
│     │  ├─ distributed_npu_executor.py
│     │  ├─ npu_executor.py
│     │  ├─ ray_npu_executor.py
│     │  └─ ray_utils.py
│     ├─ model_executor
│     │  ├─ layers
│     │  │  └─ npu_sampler.py
│     │  └─ model_loader
│     │     └─ npu.py
│     ├─ platforms
│     │  ├─ __init__.py
│     │  ├─ interface.py
│     │  └─ npu.py
│     ├─ utils.py
│     └─ worker
│        ├─ cache_engine.py
│        ├─ npu_model_runner.py
│        └─ npu_worker.py
├─ examples
│  ├─ offline_inference.py
│  ├─ offline_inference.sh
│  └─ start_server.sh
├─ README.md
└─ install.sh

其中主要包括三个部分:

1. cover文件夹下包含对vllm框架源码的修改内容。

2. examples文件夹下包含离线模式和在线模式的使用实例代码。

3. install.sh为一键式安装脚本,在将所有的代码文件都还原后,即可运行该脚本一键安装昇腾适配版的vllm框架,其中会自动拉取源码安装vllm原生框架并打上适配补丁。

cover文件夹下对vllm框架源码的修改内容:

examples文件夹下提供在线和离线模式下的使用实例代码。