vllm部署记录

125 篇文章 ¥59.90 ¥99.00

1. pip安装

pip install vllm

下载模型在huggingface.co

注意在modelscope上的这个opt-125m好像不行了,我git不下来报错

启动服务

vllm serve opt-125m --model opt-125m --port 8888

第一个opt-125m是名字,可以在vllm支持的模型中查到,第二个是模型存放文件夹及其路径
也可以

python -m vllm.entrypoints.openai.api_server --model=opt-125m --port 8888

客户端

curl http://localhost:8888/v1/completions \
    -H "Content-Type: application/json" \
    -d '{
        "model": "opt-125m",
        "prompt": "San Francisco is a",
        "max_tokens": 7,
        "temperature": 0
    }'

或者从

git clone https://www.modelscope.cn/OpenBMB/miniCPM-bf16.git

然后启动

python -m vllm.entrypoints.openai.api_server --mod
### VLLM 和 DeepSeek 模型集成方案 VLLM 是一种高效的大型语言模型推理框架,而 DeepSeek 提供了一系列高质量的大规模预训练语言模型。为了实现两者的集成并成功部署,可以考虑以下几个方面: #### 1. **环境准备** 在开始之前,需确保安装必要的依赖库以及配置好运行环境。通常情况下,推荐使用 Python 虚拟环境来管理项目所需的包版本。 ```bash pip install vllm deepspeed torch transformers ``` 上述命令会安装 `vllm` 及其相关依赖项,同时也包含了支持 DeepSpeed 的加速功能[^1]。 --- #### 2. **加载 DeepSeek 模型** DeepSeek 提供了多个变体的开源大语言模型(如 `deepseek-base`, `deepseek-lm`),这些模型可以通过 Hugging Face Transformers 加载。以下是加载模型的一个简单示例代码片段: ```python from transformers import AutoTokenizer, AutoModelForCausalLM import torch model_name = "deepseek/deepseek-xxl" tokenizer = AutoTokenizer.from_pretrained(model_name) model = AutoModelForCausalLM.from_pretrained( model_name, trust_remote_code=True, device_map="auto", # 自动分配到 GPU 或 CPU torch_dtype=torch.float16 # 使用半精度浮点数减少内存占用 ) ``` 通过设置参数 `device_map='auto'` 和 `torch_dtype=torch.float16`,可以在多设备环境中高效利用硬件资源[^4]。 --- #### 3. **集成 VLLM 进行高性能推理** VLLM 支持批量处理请求和动态调整序列长度的能力,这使得它非常适合用于生产级别的 LLM 推理服务。下面是一个简单的集成例子: ```python from vllm import LLM, SamplingParams # 初始化 VLLM 并指定模型路径 llm = LLM(model=model_name) # 设置采样参数 (可以根据需求自定义温度、top-p 等超参) sampling_params = SamplingParams(temperature=0.8, top_p=0.95) # 输入提示文本 prompts = ["Tell me about artificial intelligence.", "Explain quantum computing."] # 执行推理 outputs = llm.generate(prompts, sampling_params=sampling_params) for output in outputs: print(output.outputs[0].text) # 输出生成的结果 ``` 此部分展示了如何将 DeepSeek 模型与 VLLM 结合起来完成实际的任务推断过程。 --- #### 4. **Web API 构建** 为了让其他应用程序能够调用该集成的服务,建议创建 RESTful Web API 来暴露接口。这里可以选择 Flask 或 FastAPI 来快速搭建服务器端逻辑。 以下是一段基于 FastAPI 的简化版实现: ```python from fastapi import FastAPI from pydantic import BaseModel from typing import List app = FastAPI() class PromptRequest(BaseModel): prompts: List[str] @app.post("/generate/") async def generate_text(request: PromptRequest): global llm, sampling_params outputs = llm.generate(request.prompts, sampling_params=sampling_params) results = [output.outputs[0].text for output in outputs] return {"results": results} ``` 启动这个应用之后,外部客户端就可以发送 POST 请求至 `/generate/` 地址获取响应数据。 --- #### 5. **扩展能力:结合 Elasticsearch 实现检索增强生成** 如果希望进一步提升系统的智能化水平,则可引入搜索引擎技术作为辅助手段之一。例如借助 Elasticsearch 对历史对话记录或者领域专业知识文档索引后,在每次生成前先查询相关内容提供给模型参考[^2]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

andeyeluguo

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值