model: 模型名
frequency_penalty:
Number between -2.0 and 2.0. Positive values penalize new tokens based on their existing frequency in the text so far, decreasing the model’s likelihood to repeat the same line verbatim.
该参数的值范围为-2.0到2.0。正值会对新token进行惩罚,基于其在当前文本中的出现频率,从而减少模型重复相同行的可能性。
logit_bias:
修改指定token在生成文本中的出现概率。
接受一个JSON对象,将token(通过其在tokenizer中的ID指定)映射到一个-100到100之间的偏差值。数学上,这个偏差值会在采样前添加到模型生成的logits中。具体效果因模型而异,但-1到1之间的值会略微减少或增加选择的可能性;-100或100这样的值应导致相关token被禁止或被唯一选择。
logprobs:
该参数用于决定是否返回输出token的log概率。如果设置为true,将返回消息内容中每个输出token的log概率。
top_logprobs:
一个在0到20之间的整数,指定在每个token位置返回最有可能的token数量,每个token都附带其log概率。如果使用此参数,必须将logprobs
设置为true。
max_tokens:
生成的聊天内容中最大token数量。
输入token和生成token的总长度受模型的上下文长度限制。
n:
指定为每条输入消息生成的聊天完成选项数量。
presence_penalty:
Number between -2.0 and 2.0. Positive values penalize new tokens based on whether they appear in the text so far, increasing the model’s likelihood to talk about new topics.
一个介于 -2.0 和 2.0 之间的数值。正值会基于新token是否已出现在已有文本中对其进行惩罚,从而增加模型讨论新话题的可能性。
response_format:
设置为{ "type": "json_object" }
可以启用JSON模式,确保模型生成的消息是有效的JSON。
重要提示:使用JSON模式时,你必须通过系统或用户消息指示模型生成JSON,否则模型可能会生成无限的空白,直到达到token限制,导致请求长时间运行且看似“卡住”。如果finish_reason
为“length”,表示生成超过max_tokens
或对话超过最大上下文长度,消息内容可能会部分被截断。
seed:
指定时,系统会尽力按确定性采样,相同的seed和参数应返回相同结果。
stop(字符串/数组/null):可选,默认null。最多4个序列,API在生成这些序列时停止。
stream(布尔值或null):可选,默认false。设置后,会像ChatGPT那样发送部分消息delta,生成的token以数据服务器发送事件形式发送,终止时发送data: [DONE]消息。
top_p(数值或null):可选,默认1。采样替代方法,称为核采样,模型考虑top_p概率质量的token结果。0.1表示仅考虑组成前10%概率质量的token。
top_k:
指只保留概率最高的前k个单词,然后基于剩余单词的概率进行归一化,从中随机抽取一个单词作为最终输出。这种方法可以限制输出序列的长度,并仍然保持样本的一定多样性。
参考:
https://blog.csdn.net/qq_18555105/article/details/130355217
https://platform.openai.com/docs/api-reference/chat/create