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

GPT Server 文档

目录

    • 配置文件的详细说明(后续持续完善)
      • openai_api_server配置
      • 控制器(controller)配置
      • 模型(worker)配置
      • 模型配置
        • 大语言模型 示例:Qwen
        • Embedding模型 示例:Conan-embedding-v1
        • TTS文本转语音模型 示例: Spark-TTS
        • T2I 文生图模型示例: flux
        • IE 图片编辑模型 示例: Qwen-Image-Edit
        • ASE 语音转文字模型 示例: SenseVoiceSmall

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

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

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

openai_api_server配置

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

控制器(controller)配置

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

模型(worker)配置

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

模型配置

大语言模型 示例:Qwen
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.8enable_prefix_caching: true dtype: auto # 类型kv_cache_quant_policy: 0lora:  # lora 模型的路径test_lora: /home/dev/project/LLaMA-Factory/saves/Qwen1.5-14B-Chat/lora/train_2024-03-22-09-01-32/checkpoint-100model_type: qwenwork_mode: lmdeploy-turbomind device: gpuport: 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
workers:- gpus:- 1- 2
  • 启动两份该模型,模型副本1加载到 gpu 1, 模型副本2 加载到 gpu2 ,相当于 数据并行 DP=2
 workers:- gpus:- 1- gpus:- 2
Embedding模型 示例:Conan-embedding-v1
models:
- Conan-embedding-v1:alias: text-embedding-ada-002enable: truemodel_config:model_name_or_path: /home/dev/model/TencentBAC/Conan-embedding-v1/task_type: auto # auto 、embedding 、 reranker 或者 classify 不设置这个参数,默认为 auto,自动识别可能会识别错误model_type: embeddingwork_mode: infinitydevice: gpuworkers:- gpus:- 4
  • 参数说明(大部分配置 同 大语言模型示例:Qwen ,重复不再描述 ):
    • model_config:模型参数配置
      • task_type:该模型的任务类型,包括:autoembeddingreranker 或者 classify, 默认为 auto,自动识别可能会识别错误
    • model_type:模型类型,仅支持 embedding
    • work_mode:工作模式,即推理后端,现支持的类型有: [vllm, infinity, sentence_transformers],但并不是所有后端都支持
TTS文本转语音模型 示例: Spark-TTS
- tts:alias: nullenable: truemodel_config:model_name_or_path: /home/dev/model/SparkAudio/Spark-TTS-0___5B/model_type: spark_ttswork_mode: vllmdevice: gpuworkers:- gpus:- 6
  • 参数说明(大部分配置 同 大语言模型示例:Qwen ,重复不再描述 ):

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

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

    • model_type:模型类型,仅支持 qwen_image_edit
ASE 语音转文字模型 示例: SenseVoiceSmall
- SenseVoiceSmall:alias: nullenable: truemodel_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 # 类型只能是 funasrwork_mode: hf # 不使用这个参数,所以随便填都可以device: gpuworkers:- gpus:- 2
  • 参数说明(大部分配置 同 大语言模型示例:Qwen ,重复不再描述 ):
    • model_config:模型参数配置

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


文章转载自:

http://BMD5uQkC.jphxt.cn
http://9tD9GtjH.jphxt.cn
http://kmPI5XWg.jphxt.cn
http://byjtK1qR.jphxt.cn
http://QC9btRHl.jphxt.cn
http://vkkLGiPs.jphxt.cn
http://yoTd4yZK.jphxt.cn
http://Vo8682Or.jphxt.cn
http://iRZEpHQ6.jphxt.cn
http://Z1n3oCl5.jphxt.cn
http://3kFsCd8N.jphxt.cn
http://iBW3eJGf.jphxt.cn
http://94Omg9b6.jphxt.cn
http://IeESQfFu.jphxt.cn
http://YNje01oj.jphxt.cn
http://6U56iVRe.jphxt.cn
http://owODcDdQ.jphxt.cn
http://UYle9yLC.jphxt.cn
http://SBZ1OLL3.jphxt.cn
http://YGmiRn9z.jphxt.cn
http://2CielPwJ.jphxt.cn
http://F07mEEYp.jphxt.cn
http://H7Kk2fMI.jphxt.cn
http://wlSiK3Ey.jphxt.cn
http://N5Nu8zmk.jphxt.cn
http://byQcf6iO.jphxt.cn
http://Y4VDaXd7.jphxt.cn
http://MDlKcl4R.jphxt.cn
http://pqNzdm7E.jphxt.cn
http://QIw9i9Iw.jphxt.cn
http://www.dtcms.com/a/375801.html

相关文章:

  • CDN加速带来的安全隐患及应对方法
  • HCL Unica+:AI驱动的营销自动化与个性化平台
  • spring事务管理之@Transactional
  • golang之go modules
  • 设计UIUC SE 423机电一体化的机器人
  • 《Vuejs设计与实现》第 15 章(编译器核心技术)上
  • (二)文件管理-文件查看-more命令的使用
  • IntelliJ IDEA双击Ctrl的妙用
  • cfshow-web入门-php特性
  • libvirt 新手指南:从零开始掌握虚拟化管理
  • Oracle打补丁笔记
  • 【JavaEE】(24) Linux 基础使用和程序部署
  • TENGJUN防水TYPE-C连接器:工业级防护,认证级可靠,赋能严苛场景连接
  • Spring MVC 的常用注解
  • 肺炎检测系统
  • ctfshow-web-SSTI模版注入
  • RHEL 10 更新 rescue kernel
  • Vue3 + Vite + Element Plus web转为 Electron 应用,解决无法登录、隐藏自定义导航栏
  • 记SpringBoot3.x + SpringSecurity6.x之session管理
  • Pinia 两种写法全攻略:Options 写法 vs Setup 写法
  • 项目管理系统高保真原型案例:剖析设计思路与技巧
  • 第2节-过滤表中的行-DELETE
  • 基于AI的未佩戴安全帽检测算法
  • webpack打包方式
  • 第2节-过滤表中的行-WHERE
  • linux内核 - 内核是一个分层的系统
  • 基于Multi-Transformer的信息融合模型设计与实现
  • C# 14 新特性详解
  • Java实战项目演示代码及流的使用
  • BFS在路径搜索中的应用