昇腾社区首页
中文
注册

类功能

功能描述

对接语言大模型参数类,每个参数具体有效值会根据不同模型配置有差别。

函数原型

from mx_rag.llm import LLMParameterConfig
LLMParameterConfig(max_tokens, presence_penalty, frequency_penalty, temperature, top_p, seed, stream)

输入参数说明

参数名

数据类型

可选/必选

说明

max_tokens

int

可选

允许推理生成的最大token个数,取值范围[1,100000],默认值为“512”。由kwargs传递获取。实际有效取值依赖MindIE的配置,请参见《MindIE Motor开发指南》中的“MindIE Motor组件 > MindIE Server > 配置参数说明”章节中关于“maxSeqLen”的说明。

presence_penalty

float

可选

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

取值范围:[-2.0, 2.0],默认值为“0.0”

frequency_penalty

float

可选

影响模型如何根据文本中词汇(token)的现有频率惩罚新词汇(token)。正值将通过惩罚已经频繁使用的词来降低模型一行中重复用词的可能性。

取值范围:[-2.0, 2.0],默认值为“0.0”

seed

int

可选

用于指定推理过程的随机种子,相同的seed值可以确保推理结果的可重现性,不同的seed值会提升推理结果的随机性。取值范围(0, 2 ** 31 - 1],不传递该参数,系统会产生一个随机seed值,默认值为None。

temperature

float

可选

控制生成的随机性,较高的值会产生更多样化的输出,取值范围(0.0, 2.0],默认值为“1.0”

top_p

float

可选

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

取值范围(0.0, 1.0],默认值为“1.0”

stream

bool

可选

是否流式回答,默认值为False,该参数在如下场景生效["ParallelText2TextChain", "SingleText2TextChain"]。

调用示例

from mx_rag.llm import Text2TextLLM, LLMParameterConfig
from mx_rag.utils import ClientParam
llm = Text2TextLLM(base_url="https://{ip}:{port}/v1/chat/completions",
                   model_name="qianwen-7b",
                   llm_config=LLMParameterConfig(max_tokens=512),
                   client_param=ClientParam(ca_file="/path/to/ca.crt")
                   )
res = llm.chat("请介绍下北京")
print(res)
for res in llm.chat_streamly("请介绍下北京"):    
    print(res)