chore: add missing READMEs
This commit is contained in:
139
src/vllm/README.zh.md
Normal file
139
src/vllm/README.zh.md
Normal file
@@ -0,0 +1,139 @@
|
||||
# vLLM
|
||||
|
||||
[English](./README.md) | [中文](./README.zh.md)
|
||||
|
||||
此服务用于部署 vLLM,一个用于大语言模型的高吞吐量和内存高效的推理和服务引擎。
|
||||
|
||||
## 服务
|
||||
|
||||
- `vllm`:vLLM OpenAI 兼容 API 服务器
|
||||
|
||||
## 环境变量
|
||||
|
||||
| 变量名 | 说明 | 默认值 |
|
||||
| ---------------------- | -------------------------------- | ------------------- |
|
||||
| `VLLM_VERSION` | vLLM 镜像版本 | `v0.8.0` |
|
||||
| `VLLM_MODEL` | 模型名称或路径 | `facebook/opt-125m` |
|
||||
| `VLLM_MAX_MODEL_LEN` | 最大上下文长度 | `2048` |
|
||||
| `VLLM_GPU_MEMORY_UTIL` | GPU 内存利用率(0.0-1.0) | `0.9` |
|
||||
| `HF_TOKEN` | 用于模型下载的 Hugging Face 令牌 | `""` |
|
||||
| `VLLM_PORT_OVERRIDE` | 主机端口映射 | `8000` |
|
||||
|
||||
请根据实际需求修改 `.env` 文件。
|
||||
|
||||
## 卷
|
||||
|
||||
- `vllm_models`:来自 Hugging Face 的缓存模型文件
|
||||
|
||||
## GPU 支持
|
||||
|
||||
此服务需要 NVIDIA GPU 才能正常运行。在 `docker-compose.yaml` 中取消注释 GPU 配置:
|
||||
|
||||
```yaml
|
||||
deploy:
|
||||
resources:
|
||||
reservations:
|
||||
devices:
|
||||
- driver: nvidia
|
||||
count: 1
|
||||
capabilities: [gpu]
|
||||
runtime: nvidia
|
||||
```
|
||||
|
||||
## 使用方法
|
||||
|
||||
### 启动 vLLM
|
||||
|
||||
```bash
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
### 访问
|
||||
|
||||
- API 端点:<http://localhost:8000>
|
||||
- OpenAI 兼容 API:<http://localhost:8000/v1>
|
||||
|
||||
### 测试 API
|
||||
|
||||
```bash
|
||||
curl http://localhost:8000/v1/completions \
|
||||
-H "Content-Type: application/json" \
|
||||
-d '{
|
||||
"model": "facebook/opt-125m",
|
||||
"prompt": "San Francisco is a",
|
||||
"max_tokens": 50,
|
||||
"temperature": 0.7
|
||||
}'
|
||||
```
|
||||
|
||||
### 聊天补全
|
||||
|
||||
```bash
|
||||
curl http://localhost:8000/v1/chat/completions \
|
||||
-H "Content-Type: application/json" \
|
||||
-d '{
|
||||
"model": "facebook/opt-125m",
|
||||
"messages": [{"role": "user", "content": "Hello!"}]
|
||||
}'
|
||||
```
|
||||
|
||||
## 支持的模型
|
||||
|
||||
vLLM 支持多种模型:
|
||||
|
||||
- **LLaMA**:LLaMA、LLaMA-2、LLaMA-3
|
||||
- **Mistral**:Mistral、Mixtral
|
||||
- **Qwen**:Qwen、Qwen2
|
||||
- **Yi**:Yi、Yi-VL
|
||||
- **以及更多**:参见 [vLLM 支持的模型](https://docs.vllm.ai/en/latest/models/supported_models.html)
|
||||
|
||||
要使用不同的模型,请更改 `VLLM_MODEL` 环境变量:
|
||||
|
||||
```bash
|
||||
# 示例:使用 Qwen2-7B-Instruct
|
||||
VLLM_MODEL="Qwen/Qwen2-7B-Instruct"
|
||||
```
|
||||
|
||||
## 性能调优
|
||||
|
||||
### GPU 内存
|
||||
|
||||
根据模型大小和可用 VRAM 调整 GPU 内存利用率:
|
||||
|
||||
```bash
|
||||
VLLM_GPU_MEMORY_UTIL=0.85 # 使用 85% 的 GPU 内存
|
||||
```
|
||||
|
||||
### 上下文长度
|
||||
|
||||
根据需要设置最大上下文长度:
|
||||
|
||||
```bash
|
||||
VLLM_MAX_MODEL_LEN=4096 # 支持最多 4K tokens
|
||||
```
|
||||
|
||||
### 共享内存
|
||||
|
||||
对于更大的模型,增加共享内存:
|
||||
|
||||
```yaml
|
||||
shm_size: 8g # 增加到 8GB
|
||||
```
|
||||
|
||||
## 注意事项
|
||||
|
||||
- 需要支持 CUDA 的 NVIDIA GPU
|
||||
- 模型下载可能很大(几 GB 到 100+ GB)
|
||||
- 首次启动可能需要时间来下载模型
|
||||
- 确保 GPU 内存足够运行所需模型
|
||||
- 默认模型较小(125M 参数)用于测试
|
||||
|
||||
## 安全性
|
||||
|
||||
- API 默认没有身份验证
|
||||
- 生产环境添加身份验证层(例如,带基本身份验证的 nginx)
|
||||
- 限制网络访问到受信任的来源
|
||||
|
||||
## 许可证
|
||||
|
||||
vLLM 采用 Apache License 2.0 许可。详情请参见 [vLLM GitHub](https://github.com/vllm-project/vllm)。
|
||||
Reference in New Issue
Block a user