def infer(self, model_name, inputs, model_version, outputs, request_id, parameters)
函数功能
实现同步推理。
函数原型
def infer(self, model_name, inputs, model_version, outputs, request_id, parameters)
参数说明
参数名 |
参数类型 |
输入/输出 |
说明 |
---|---|---|---|
model_name |
str |
输入 |
模型名称。 模型名称支持大小写字母、数字、点号、中横线和下划线中一种或任意几种字符组成,最大长度为1000。 |
inputs |
list |
输入 |
模型输入。 目前只支持输入1个Input实例,该实例中的参数取值如下所示:
|
model_version |
str |
输入 |
模型版本,默认为""。该字段暂不支持,不传递。 |
outputs |
list |
输入 |
指定需要返回的模型输出,默认值为None。如果为None则全部返回。目前只支持指定一个输出,name支持自定义,默认为“output0”。 |
request_id |
str |
输入 |
请求ID,默认为"";为空时会随机初始化一个值。如果为非空,长度需满足[1,1000]。 |
parameters |
dict |
输入 |
额外的请求参数,包括seed、temperature、top_k、top_p、do_sample、repetition_penalty和max_new_tokens,默认None,详情请参见表1。 |
参数名 |
参数类型 |
输入/输出 |
说明 |
---|---|---|---|
seed |
int64 |
输入 |
随机种子数。 取值(0,18446744073709551615],不传递该参数,系统会产生一个随机seed值。 |
temperature |
float |
输入 |
控制生成的随机性,较高的值会产生更多样化的输出。 取值范围大于0,默认值为1.0。 取值越大,结果的随机性越大。推荐使用大于或等于0.001的值,小于0.001可能会导致文本质量不佳。 建议最大值取2.0,同时视模型而定。 |
top_k |
int32 |
输入 |
控制模型生成过程中考虑的词汇范围,只从概率最高的 k 个候选词中选择,0表示不做top_k。 取值范围[0, 2147483647]&&[0, vocabSize),默认值为0。 vocabSize是从modelWeightPath路径下的config.json文件中读取的vocab_size或者padded_vocab_size的值,若不存在则vocabSize取默认值0。建议用户在config.json文件中添加vocab_size或者padded_vocab_size参数,否则可能导致推理失败。 |
top_p |
float |
输入 |
控制模型生成过程中考虑的词汇范围,使用累计概率选择候选词,直到累计概率超过给定的阈值。该参数也可以控制生成结果的多样性,它基于累积概率选择候选词,直到累计概率超过给定的阈值为止。 取值范围:(0.0,1.0],默认值为1.0。 |
do_sample |
bool |
输入 |
是否做sampling,默认值为false。 |
repetition_penalty |
float |
输入 |
重复惩罚用于减少在文本生成过程中出现重复片段的概率。它对之前已经生成的文本进行惩罚,使得模型更倾向于选择新的、不重复的内容。 取值范围大于0,默认值为1.0。
建议最大值取2,同时视模型而定。 |
max_new_tokens |
int |
输入 |
允许推理生成的最大token个数。该字段受到配置文件maxIterTimes参数影响,推理token个数<=maxIterTimes。 取值范围(0, maxIterTimes],默认值为20。 maxIterTimes是MindIE Server配置文件config.json中的参数,详情请参见ScheduleConfig参数说明中的maxIterTimes。 |

当参数不满足限制条件或者response返回状态码不等于200时会抛异常。
返回值
Result对象表示同步推理结果。