chore: add missing READMEs

This commit is contained in:
Sun-ZhenXing
2025-11-08 21:57:17 +08:00
parent a65a009640
commit febd1601a2
34 changed files with 1806 additions and 167 deletions

139
src/vllm/README.zh.md Normal file
View 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)。