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

相关推荐
猿小羽4 小时前
探索 Codex:AI 编程助手的未来潜力
人工智能·openai·代码生成·codex·ai编程助手
deephub5 小时前
让 AI 智能体学会自我进化:Agent Lightning 实战入门
人工智能·深度学习·大语言模型·agent
a413244719 小时前
ubuntu 25 安装vllm
linux·服务器·ubuntu·vllm
梁辰兴21 小时前
百亿美元赌注变数,AI军备竞赛迎来转折点?
人工智能·ai·大模型·openai·英伟达·梁辰兴·ai军备竞赛
德尔塔大雨淋1 天前
VLLM 中的module PASS 和FUN PASS
linux·服务器·vllm
阿杰学AI1 天前
AI核心知识75——大语言模型之MAS (简洁且通俗易懂版)
人工智能·ai·语言模型·自然语言处理·agent·多智能体协作·mas
laplace01231 天前
Clawdbot 部署到飞书(飞连)使用教程(完整版)
人工智能·笔记·agent·rag·clawdbot
山顶夕景1 天前
【LLM】多模态智能体Kimi-K2.5模型
llm·agent·多模态
yuanlulu1 天前
Agent_Skills_完全教程「AI生成」
人工智能·大语言模型·agent·智能体·skill·claude code·opencode
玄同7651 天前
LangChain v1.0 中间件深度解析:从 Callback 到 Middleware 的演进
人工智能·语言模型·自然语言处理·中间件·langchain·agent·智能体