当前位置: 首页 > article >正文

vllm + litellm + langfuse 启动、代理、监控大模型(国内仓库)

前言

vllm 启动大模型默认从https://huggingface.co/ 下载大模型,如果不能上外网则启动不成功,因次本文介绍如何使用国内大模型启动。

说明

本文使用 阿里魔塔 的大模型仓库。

部署大模型 (不使用 --served-model-name 参数)

以 阿里魔塔托管的Qwen2.5-0.5B-Instruct 为例

1. 使用 modelscope-cli 下载

安装 modelscope-cli 工具

pip install modelscope

创建模型存储目录

mkdir  -p /models/Qwen2.5-0.5B-Instruct

设置模型存储目录环境变量

export model_dir=/models/Qwen2.5-0.5B-Instruct

下载大模型到本地目录

modelscope download --model="Qwen/Qwen2.5-0.5B-Instruct" --local_dir $model_dir

下载完成后的目录结构

ls -l  /model/Qwen2.5-0.5B-Instruct/
total 976196
-rw-r--r-- 1 root root     11343 Mar 20 07:39 LICENSE
-rw-r--r-- 1 root root      4917 Mar 20 07:39 README.md
-rw-r--r-- 1 root root       659 Mar 20 07:39 config.json
-rw-r--r-- 1 root root         2 Mar 20 07:39 configuration.json
-rw-r--r-- 1 root root       242 Mar 20 07:39 generation_config.json
-rw-r--r-- 1 root root   1671839 Mar 20 07:39 merges.txt
-rw-r--r-- 1 root root 988097824 Mar 20 07:39 model.safetensors
-rw-r--r-- 1 root root   7031645 Mar 20 07:39 tokenizer.json
-rw-r--r-- 1 root root      7305 Mar 20 07:39 tokenizer_config.json
-rw-r--r-- 1 root root   2776833 Mar 20 07:39 vocab.json

2. 使用 VLLM 加载本地模型

vllm serve $model_dir \
    --trust-remote-code \
    --max_num_batched_tokens 1024 \
    --max_model_len 1024 \
    --dtype=half \
    --gpu_memory_utilization=0.95 \
    --port 8080

vllm 启动参数解释

modelscope://qwen/Qwen-7B: 指定从阿里 ModelScope 下载 Qwen-7B 模型(不支持)
/models/Qwen-7B 指定从本地目录 /models/Qwen-7B 加载大模型(提前下载好)
–trust-remote-code: 允许从 ModelScope 加载自定义代码(Qwen 需要
–enable-chunked-prefill: 优化大 batch 处理,减少显存占用
–max_num_batched_tokens 1024: 限制批处理的最大 token 数
–max_model_len 1024: 模型最大输入长度
–dtype=half: 使用 FP16 进行推理,减少显存占用
–gpu_memory_utilization=0.95: 最大化 GPU 显存利用率
–port 8080: VLLM API 监听端口

启动输出

INFO 03-20 07:42:12 __init__.py:190] Automatically detected platform cuda.
INFO 03-20 07:42:13 api_server.py:840] vLLM API server version 0.7.2
INFO 03-20 07:42:13 api_server.py:841] args: Namespace(subparser='serve', model_tag='/model/Qwen2.5-0.5B-Instruct', config='', host=None, port=8080, uvicorn_log_level='info', allow_credentials=False, allowed_origins=['*'], allowed_methods=['*'], allowed_headers=['*'], api_key=None, lora_modules=None, prompt_adapters=None, chat_template=None, chat_template_content_format='auto', response_role='assistant', ssl_keyfile=None, ssl_certfile=None, ssl_ca_certs=None, ssl_cert_reqs=0, root_path=None, middleware=[], return_tokens_as_token_ids=False, disable_frontend_multiprocessing=False, enable_request_id_headers=False, enable_auto_tool_choice=False, enable_reasoning=False, reasoning_parser=None, tool_call_parser=None, tool_parser_plugin='', model='/model/Qwen2.5-0.5B-Instruct', task='auto', tokenizer=None, skip_tokenizer_init=False, revision=None, code_revision=None, tokenizer_revision=None, tokenizer_mode='auto', trust_remote_code=True, allowed_local_media_path=None, download_dir=None, load_format='auto', config_format=<ConfigFormat.AUTO: 'auto'>, dtype='half', kv_cache_dtype='auto', max_model_len=1024, guided_decoding_backend='xgrammar', logits_processor_pattern=None, model_impl='auto', distributed_executor_backend=None, pipeline_parallel_size=1, tensor_parallel_size=1, max_parallel_loading_workers=None, ray_workers_use_nsight=False, block_size=None, enable_prefix_caching=None, disable_sliding_window=False, use_v2_block_manager=True, num_lookahead_slots=0, seed=0, swap_space=4, cpu_offload_gb=0, gpu_memory_utilization=0.95, num_gpu_blocks_override=None, max_num_batched_tokens=1024, max_num_seqs=None, max_logprobs=20, disable_log_stats

http://www.kler.cn/a/595582.html

相关文章:

  • C++的常用容器嵌套
  • 前端如何请求后端服务?---------nignx
  • Windows 图形显示驱动开发-WDDM 2.9功能- 支持跨适配器资源扫描 (CASO)(一)
  • 传感器研习社:Swift Navigation与意法半导体(STMicroelectronics)合作 共同推出端到端GNSS汽车自动驾驶解决方案
  • ES、Kibana一键式部署脚本执行文件,外加IK分词器和拼音分词器
  • Flink SQL 技术原理详解
  • 使用 Google Firebase 控制台和 ESP8266 NodeMCU 的物联网控制 LED
  • JavaScript实现一个函数,将数组扁平化(flatten),即把多维数组转为一维数组。
  • Visual Studio Code 连接 SAP ERP 系统
  • SpringBoot实现异步调用的方法
  • 北斗导航 | 北斗三号区域短报文相关知识总结
  • 一份针对零基础学习AI Agent详细学习计划
  • 【Ratis】Ratis Streaming概览
  • numpy学习笔记13:np.random.choice和np.cumsum的解释
  • Docker 速通(总结)
  • 【Unity基础】Unity中角色动画的三种实现方式
  • DAY13 线程池、死锁、线程状态、计时器
  • 如何在ubuntu上安装zookeeper
  • 在 Elasticsearch 中探索基于 NVIDIA 的 GPU 加速向量搜索
  • w265基于Spring Boot库存管理系统