GPT Server 文档

目录

GPT Server是一个用于生产级部署LLMsEmbeddingRerankerASRTTS文生图图片编辑文生视频的开源框架。

项目地址https://github.com/shell-nlp/gpt_server

配置文件的详细说明(后续持续完善)

openai_api_server配置

yaml 复制代码
serve_args:
	enable: true 
	host: 0.0.0.0
	port: 8082
	controller_address: http://localhost:21001
  • 功能:OpenAI API服务的主入口配置
  • 参数说明:
    • enable:服务开关(true/false)
    • host:监听地址
    • port:服务暴露端口
    • controller_address:下游控制器服务地址
    • api_keys:用来设置 openai 密钥

控制器(controller)配置

yaml 复制代码
controller_args:
	enable: true 
	host: 0.0.0.0
	port: 21001
	dispatch_method: shortest_queue
  • 核心功能:请求调度中心
  • 参数说明:
    • enable:服务开关(true/false)
    • host:监听地址
    • port:服务暴露端口
    • dispatch_method:支持两种策略:
      • lottery:随机分配
      • shortest_queue(推荐):选择负载最低的Worker
  • 设计建议:生产环境建议保持shortest_queue以实现负载均衡

模型(worker)配置

yaml 复制代码
model_worker_args:
	host: 0.0.0.0
	controller_address: http://localhost:21001
	log_level: WARNING
	limit_worker_concurrency: 1024
  • 参数说明:
    • host:监听地址
    • controller_address:下游控制器服务地址
    • log_level:日志级别(DEBUG/INFO/WARNING/ERROR)
    • limit_worker_concurrency:单个Worker最大并发请求数
  • 端口说明:Worker端口由系统自动分配并注册到控制器

模型配置

大语言模型 示例:Qwen
yaml 复制代码
models:
- qwen: # 模型的自定义名称
	alias: gpt-4,gpt-3.5-turbo,gpt-3.5-turbo-16k # 模型的别名
	enable: false  # 模型开关(true/false)
	model_config:
	  model_name_or_path: /home/dev/model/qwen/Qwen2___5-7B-Instruct/ # 模型的路径
	  max_model_len: 65536 
	  gpu_memory_utilization: 0.8
	  enable_prefix_caching: true 
	  dtype: auto # 类型
	  kv_cache_quant_policy: 0
	  lora:  # lora 模型的路径
      	test_lora: /home/dev/project/LLaMA-Factory/saves/Qwen1.5-14B-Chat/lora/train_2024-03-22-09-01-32/checkpoint-100
	  
	model_type: qwen
	work_mode: lmdeploy-turbomind 
	device: gpu
	port: 8084  # 手动指定worker端口
	workers:
	  - gpus:
	  	- 1
  • 参数说明:
    • alias:模型的别名,用逗号分隔。例如 gpt4,gpt3,可以在不修改模型名称的情况下,使用替换为其它模型

    • enable:模型开关(true/false)

    • model_config:模型参数配置

      • model_name_or_path:模型的路径
      • max_model_len:模型最大token 长度
      • gpu_memory_utilization:显存的占用率,提前为模型的KV Cache占用显存的百分比
      • enable_prefix_caching:是否启用前缀缓存(true/false)
      • kv_cache_quant_policyKV Cache 的量化策略,0 表示不量化
      • lora:lora模型的路径,其值 key 为 lora 模型的命名,value 为 lora 的路径
    • model_type:模型类型,

    • work_mode:工作模式,即推理后端,现支持的类型有: [vllm,sglang, lmdeploy-turbomind, lmdeploy-pytorch,hf ]

    • device:设备类型,暂时只支持 gpu

    • port:可手动指定worker端口,不设置表示自动获取。

    • workers:这里控制每个模型使用的gpu编号,以及启动几份模型。(worker的含义就是一个进程,每个进程负责启动一个模型服务)

workers样例:

  • 启动一份该模型,该模型使用编号为12gpu ,同时也启动了张量并行TP=2
yaml 复制代码
workers:
    - gpus:
    	- 1
    	- 2
  • 启动两份该模型,模型副本1加载到 gpu 1, 模型副本2 加载到 gpu2 ,相当于 数据并行 DP=2
yaml 复制代码
 workers:
     - gpus:
     	- 1
     - gpus:
     	- 2
Embedding模型 示例:Conan-embedding-v1
yaml 复制代码
models:
- Conan-embedding-v1:
    alias: text-embedding-ada-002
    enable: true
    model_config:
      model_name_or_path: /home/dev/model/TencentBAC/Conan-embedding-v1/
      task_type: auto # auto 、embedding 、 reranker 或者 classify 不设置这个参数,默认为 auto,自动识别可能会识别错误
    model_type: embedding
    work_mode: infinity
    device: gpu
    workers:
    - gpus:
      - 4
  • 参数说明(大部分配置 同 大语言模型示例:Qwen ,重复不再描述 ):
    • model_config:模型参数配置
      • task_type:该模型的任务类型,包括:autoembeddingreranker 或者 classify, 默认为 auto,自动识别可能会识别错误
    • model_type:模型类型,仅支持 embedding
    • work_mode:工作模式,即推理后端,现支持的类型有: [vllm, infinity, sentence_transformers],但并不是所有后端都支持
TTS文本转语音模型 示例: Spark-TTS
yaml 复制代码
- tts:
    alias: null
    enable: true
    model_config:
      model_name_or_path: /home/dev/model/SparkAudio/Spark-TTS-0___5B/
    model_type: spark_tts
    work_mode: vllm
    device: gpu
    workers:
    - gpus:
      - 6
  • 参数说明(大部分配置 同 大语言模型示例:Qwen ,重复不再描述 ):

    • model_type:模型类型,仅支持 spark_tts
    • work_mode:工作模式,即推理后端,现支持的类型有: [vllm, sglang, torch]
T2I 文生图模型示例: flux
yaml 复制代码
- flux:
    alias: null
    enable: true
    model_config:
      model_name_or_path: /home/dev/model/MusePublic/489_ckpt_FLUX_1/
    model_type: flux
    work_mode: hf # 不使用这个参数,所以随便填都可以
    device: gpu
    workers:
    - gpus:
      - 7
  • 参数说明(大部分配置 同 大语言模型示例:Qwen ,重复不再描述 ):

    • model_type:模型类型,仅支持 flux
IE 图片编辑模型 示例: Qwen-Image-Edit
yaml 复制代码
- image-edit: 
    alias: null
    enable: true
    model_config:
      model_name_or_path: /home/dev/model/Qwen/Qwen-Image-Edit/
    model_type: qwen_image_edit
    work_mode: hf # 不使用这个参数,所以随便填都可以
    device: gpu
    workers:
    - gpus:
      - 7
  • 参数说明(大部分配置 同 大语言模型示例:Qwen ,重复不再描述 ):

    • model_type:模型类型,仅支持 qwen_image_edit
ASE 语音转文字模型 示例: SenseVoiceSmall
yaml 复制代码
- SenseVoiceSmall:
    alias: null
    enable: true
    model_config:
      model_name_or_path: /home/dev/model/iic/SenseVoiceSmall 
      # VAD模型,可以不设置
      vad_model: /home/dev/model/iic/speech_fsmn_vad_zh-cn-16k-common-pytorch/
 
    model_type: funasr # 类型只能是 funasr
    work_mode: hf # 不使用这个参数,所以随便填都可以
    device: gpu
    workers:
    - gpus:
      - 2
  • 参数说明(大部分配置 同 大语言模型示例:Qwen ,重复不再描述 ):
    • model_config:模型参数配置

      • vad_model: VAD模型
    • model_type:模型类型,仅支持 funasr

相关推荐
机器之心13 小时前
李飞飞最新长文:AI的下一个十年——构建真正具备空间智能的机器
人工智能·openai
机器之心13 小时前
豆包编程模型来了,我们用四个关卡考了考它!
人工智能·openai
逻极16 小时前
AI 规范驱动开发“三剑客”深度对比:Spec-Kit、Kiro 与 OpenSpec 实战指南
人工智能·驱动开发·ai·agent
FreeCode20 小时前
LangChain1.0智能体开发:MCP
后端·langchain·agent
新智元21 小时前
李飞飞万字长文爆了!定义 AI 下一个十年
人工智能·openai
新智元21 小时前
谢赛宁 × 李飞飞 ×LeCun 首次联手!寒武纪 - S「空间超感知」AI 震撼登场
人工智能·openai
大模型教程21 小时前
用Unsloth微调一个老中医垂直领域大模型
程序员·llm·agent
AI大模型1 天前
全网最细,Qwen3大模型极致微调与推理实战:Unsloth一站式教程
程序员·llm·agent
AI大模型1 天前
Unsloth 的全微调之路丨从 Adapter 到 Full Fine-tuning
程序员·llm·agent
大模型真好玩1 天前
低代码Agent开发框架使用指南(七)—Coze 数据库详解
人工智能·agent·coze