参数

是否必选

说明

取值要求

model

必选

模型名

MindIE Server配置文件中modelName的取值保持一致。

messages

必选

推理请求消息结构。

list类型,0KB<messages内容包含的字符数<=4MB,支持中英文。tokenizer之后的token数量小于或等于maxInputTokenLen、maxSeqLen-1、max_position_embeddings和1MB之间的最小值。其中,max_position_embeddings从权重文件config.json中获取,其他相关参数从配置文件中获取。

-

role

必选

推理请求消息角色。

字符串类型,可取角色有:

  • system:系统角色
  • user:用户角色
  • assistant:助手角色
  • tool:工具角色

content

必选

推理请求内容。单模态文本模型为string类型,多模态模型为list类型。

  • string:
    • 当role为assistant,且tool_calls非空时,content可以不传,其余角色非空。
    • 其余情况content非空。
  • list:形如多模态模型inputs参数的示例格式即可。

-

type

可选

推理请求内容类型。

  • text:文本
  • image_url:图片
  • video_url:视频
  • audio_url:音频

单个请求中image_url、video_url、audio_url数量总和<=20个。

text

可选

推理请求内容为文本。

非空,支持中英文。

image_url

可选

推理请求内容为图片。

支持服务器本地路径的图片传入,图片类型支持jpg、png、jpeg和base64编码的jpg图片,支持URL图片传入,支持HTTP和HTTPS协议。当前支持传入的图片最大为20MB。

video_url

可选

推理请求内容为视频。

支持服务器本地路径的视频传入,视频类型支持MP4、AVI、WMV,支持URL视频传入,支持HTTP和HTTPS协议。当前支持传入的视频最大为512MB。

audio_url

可选

推理请求内容为音频。

支持服务器本地路径的音频传入,音频类型支持MP3、WAV、FLAC,支持URL音频传入,支持HTTP和HTTPS协议。当前支持传入的音频最大为20MB。

tool_calls

可选

模型生成的工具调用。

类型为List[dict],当role为assistant时,表示模型对工具的调用。

-

function

必选

表示模型调用的工具。

dict类型。

  • arguments,必选,使用JSON格式的字符串,表示调用函数的参数。
  • name,必选,字符串,调用的函数名。

id

必选

表示模型某次工具调用的ID。

字符串。

type

必选

调用的工具类型。

字符串,仅支持”function”。

tool_call_id

当role为tool时必选,否则可选

关联模型某次调用工具时的ID。

字符串。

stream

可选

指定返回结果是文本推理还是流式推理。

bool类型参数,默认值false。

  • true:流式推理。
  • false:文本推理。

presence_penalty

可选

存在惩罚介于-2.0和2.0之间,它影响模型如何根据到目前为止是否出现在文本中来惩罚新token。正值将通过惩罚已经使用的词,增加模型谈论新主题的可能性。

float类型,取值范围[-2.0, 2.0],默认值0.0。

frequency_penalty

可选

频率惩罚介于-2.0和2.0之间,它影响模型如何根据文本中词汇的现有频率惩罚新词汇。正值将通过惩罚已经频繁使用的词来降低模型一行中重复用词的可能性。

float类型,取值范围[-2.0, 2.0],默认值0.0。

repetition_penalty

可选

重复惩罚是一种技术,用于减少在文本生成过程中出现重复片段的概率。它对之前已经生成的文本进行惩罚,使得模型更倾向于选择新的、不重复的内容。

float类型,取值范围(0.0, 2.0],默认值1.0。

temperature

可选

控制生成的随机性,较高的值会产生更多样化的输出。

float类型,取值范围[0.0, 2.0],默认值1.0。

取值越大,结果的随机性越大。推荐使用大于或等于0.001的值,小于0.001可能会导致文本质量不佳。

top_p

可选

控制模型生成过程中考虑的词汇范围,使用累计概率选择候选词,直到累计概率超过给定的阈值。该参数也可以控制生成结果的多样性,它基于累积概率选择候选词,直到累计概率超过给定的阈值为止。

float类型,取值范围(0.0, 1.0],默认值1.0。

top_k

可选

控制模型生成过程中考虑的词汇范围,只从概率最高的k个候选词中选择。

int32类型,取值范围[0, 2147483647],字段未设置时,默认值由后端模型确定,详情请参见说明。取值大于或等于vocabSize时,默认值为vocabSize。

vocabSize是从modelWeightPath路径下的config.json文件中读取的vocab_size或者padded_vocab_size的值。建议用户在config.json文件中添加vocab_size或者padded_vocab_size参数,否则可能导致推理失败。

seed

可选

用于指定推理过程的随机种子,相同的seed值可以确保推理结果的可重现性,不同的seed值会提升推理结果的随机性。

uint_64类型,取值范围[0, 18446744073709551615],不传递该参数,系统会产生一个随机seed值。

当seed取到临近最大值时,会有WARNING,但并不会影响使用。若想去掉WARNING,可以减小seed取值。

stop

可选

停止推理的文本。输出结果默认不包含停止词列表文本。

List[string]类型或者string类型,默认值null。

  • List[string]类型列表元素不超过1024个,每个元素的长度为1~1024,列表元素总长度不超过32768(256*128)。列表为空时相当于null。
  • string类型长度范围为1Some strikethrough text1024。

PD分离场景暂不支持该参数。

stop_token_ids

可选

停止推理的token id列表。输出结果默认不包含停止推理列表中的token id。

List[int32]类型,超出int32的元素将会被忽略,默认值null。

include_stop_str_in_output

可选

决定是否在生成的推理文本中包含停止字符串。

bool类型,默认值false。

  • true:包含停止字符串。
  • false:不包含停止字符串。

不传入stop或stop_token_ids时,此字段会被忽略。

PD分离场景暂不支持此参数。

skip_special_tokens

可选

指定在推理生成的文本中是否跳过特殊tokens。

bool类型,默认值true。

  • true:跳过特殊tokens。
  • false:保留特殊tokens。

ignore_eos

可选

指定在推理文本生成过程中是否忽略eos_token结束符。

bool类型,默认值false。

  • true:忽略eos_token结束符。
  • false:不忽略eos_token结束符。

max_tokens

可选

允许推理生成的最大token个数。实际产生的token数量同时受到配置文件maxIterTimes参数影响,推理token个数小于或等于min(maxIterTimes, max_tokens)。

int类型,取值范围(0,2147483647],默认值maxIterTimes。

tools

可选

可能会使用的工具列表。

List[dict]类型。

-

type

必选

说明工具类型。

仅支持字符串”function”。

function

必选

函数描述。

dict类型。

-

name

必选

函数名称。

字符串。

strict

可选

表示生成tool calls是否严格遵循schema格式。

bool类型,默认false。

description

可选

描述函数功能和使用。

字符串。

parameters

可选

表示函数接受的参数。

JSON schema格式。

-

type

必选

表示函数参数属性的类型。

字符串,仅支持object。

properties

必选

函数参数的属性。每一个key表示一个参数名,由用户自定义。value为dict类型,表示参数描述,包含type和description两个参数。

dict类型。

required

必选

表示函数必填参数列表。

List[string]类型。

additionalProperties

可选

是否允许使用未提及的额外参数。

bool类型,默认值false。

  • true:允许使用未提及的额外参数。
  • false:不允许使用未提及的额外参数。

tool_choice

可选

控制模型调用工具。

string类型或者dict类型,可以为null,默认值”auto”。

  • “none”:表示模型不会调用任何工具,而是生成一条消息。
  • “auto”:表示模型可以生成消息或调用一个或多个工具。
  • “required”:表示模型必须调用一个或多个工具。

通过指定特定的工具,将强制模型调用该工具。