【LLM】兼容OpenAI API服务使用指南
引言
在本地部署好 vLLM 之后,它会启动一个 兼容 OpenAI 格式的 API 服务。
vLLM 在内部用 FastAPI 写了一个 Web 服务,挂载了和 OpenAI API 风格一致的路由,比如:
/v1/completions/v1/chat/completions/v1/models
本文将以部署在
http://172.22.215.77:6080的服务为例,详细介绍 vLLM 的 API 路由结构、各个地址的含义,以及常用接口的调用示例。在
http://172.22.215.77:6080/docs可以查看由 FastAPI 自动生成的交互式 API 文档界面。
API 路由结构
vLLM 的接口分为以下几类:
1. 基础运维类
GET /health→ 健康检查,返回服务状态。(一般不需要 Key)GET /ping/POST /ping→ Ping 测试。GET /load→ 查看服务负载信息。GET /metrics→ 导出监控指标。GET /version→ 查看服务版本。
2. Token 工具类
POST /tokenize→ 文本转 token。POST /detokenize→ token 转文本。
3. 模型与响应
GET /v1/models→ 列出可用模型。POST /v1/responses→ 创建生成任务。GET /v1/responses/{response_id}→ 获取生成结果。POST /v1/responses/{response_id}/cancel→ 取消生成任务。
4. 核心 NLP 能力
POST /v1/chat/completions→ 聊天对话接口。POST /v1/completions→ 文本补全接口。POST /v1/embeddings→ 获取文本向量嵌入。POST /pooling→ 向量池化。POST /classify→ 分类任务。POST /score/POST /v1/score→ 文本评分。
5. 音频相关
POST /v1/audio/transcriptions→ 语音转文本。POST /v1/audio/translations→ 语音翻译。
6. Rerank 与检索增强
POST /rerank//v1/rerank//v2/rerank→ 文档重排序接口。
7. 系统管理
POST /scale_elastic_ep→ 动态扩缩容。POST /is_scaling_elastic_ep→ 查询是否在扩容。POST /invocations→ 通用推理调用入口。
常用接口与示例
1. 查看可用模型
1 | curl http://172.22.215.77:6080/v1/models \ |
返回:
1 | { |
2. Chat Completions
1 | curl http://172.22.215.77:6080/v1/chat/completions \ |
返回:
1 | { |
3. Tokenize / Detokenize
3.1 Tokenize,使用 prompt 字段
1 | curl http://172.22.215.77:6080/tokenize \ |
返回:
1 | {"count":2,"max_model_len":163840,"tokens":[9707,1879],"token_strs":null} |
3.2 Tokenize,使用 messages(类似 Chat Completion)
1 | curl http://172.22.215.77:6080/tokenize \ |
返回:
1 | {"count":10,"max_model_len":163840,"tokens":[151644,872,198,9707,1879,151645,198,151644,77091,198],"token_strs":null} |
3.3 Detokenize
1 | curl http://172.22.215.77:6080/detokenize \ |
返回:
1 | {"prompt":"<|im_start|>user\nHello world<|im_end|>\n<|im_start|>assistant\n"} |
4. Embeddings
1 | curl http://172.22.215.77:6080/v1/embeddings \ |
示例返回:
1 | { |
5. Rerank
1 | curl http://172.22.215.77:6080/v1/rerank \ |
示例返回:
1 | { |
三、总结
vLLM 提供了 与 OpenAI API 高度兼容的接口。
常用接口:
/v1/chat/completions→ 聊天对话/v1/completions→ 文本补全/v1/embeddings→ 向量嵌入/v1/rerank→ 文档重排序
评论