跳转至

聊天配置

本文档提供了 ERNIEKit 中聊天模型服务和请求参数的完整参考。它涵盖:

  • 模型服务部署配置(GPU 内存、端口、并行设置)
  • 聊天请求参数(生成控制、惩罚机制、流式选项)

每个参数都附有其类型、默认值以及详细描述,以帮助开发者正确配置他们的聊天应用。

1. 模型服务部署配置

参数名称 类型 默认值 描述
model_name_or_path str None Model name or path
tensor_parallel_degree int 1 用于张量并行配置的 GPU 数量
output_dir str Required 自动加载该路径下的最新检查点用于模型服务(不支持 LoRA 检查点)。如果该路径下无检查点,则加载 model_name_or_path
host str 127.0.0.1 模型服务的 IP 地址
port int 8188 模型服务的端口号
metrics_port int 8001 用于服务指标监控的端口号
engine_worker_queue_port int 8002 引擎内部进程间通信的端口
max_model_len int 2048 服务过程中的最大序列长度(输入 + 输出)
max_num_seqs int 8 解码阶段的最大批处理大小。超出此数量的请求将被排队
use_warmup int 0 启动时是否执行预热。会生成最大长度的数据用于预热(KV Cache 计算默认使用)。
gpu_memory_utilization float 0.9 GPU 内存利用率
quantization str None 模型量化策略,加载 BF16 检查点时,指定 wint4 或 wint8 支持无损在线 4bit/8bit 量化
block_size int 64 每个缓存管理块的 token 数量
kv_cache_ratio float 0.75 分配给输入的 KV Cache 比例。推荐值 = 平均输入长度 / (平均输入长度 + 平均输出长度)
  • 注意:模型部署的最优配置可参考: https://github.com/PaddlePaddle/FastDeploy/tree/develop/docs/zh/optimal_deployment

2. 聊天请求配置

参数名称 类型 默认值 描述
port int 8188 请求端口号
max_new_tokens int 1024 最大生成令牌数
min_tokens int 0 最小生成令牌数
temperature float 0.95 控制输出的随机性:较高的值产生更具创意/随机性的文本,较低的值使输出更具确定性
top_p float 0.7 在生成过程中,动态选择累积概率 ≥ top_p 的令牌。较高的值增加多样性
frequency_penalty float 0.0 >0.0: 根据令牌在文本中的出现频率惩罚新令牌,减少重复
presence_penalty float 0.0 >0.0: 惩罚文本中已经出现的令牌,增加讨论新话题的可能性
repetition_penalty float 1.0 控制生成文本中的重复性。较高的值减少重复
stream bool True 是否启用流式输出。如果为True,则逐步返回令牌;如果为False,则一次性返回完整文本
stream_options StreamOptions None 自定义流式行为的配置选项