model |
gpt-3.5-turbo |
string |
模型名称 |
不同的模型名称底层调用不同的模型,一般简单的场景使用gpt-3.5-turbo,复杂的场景使用gpt-4-turbo,默认指向最新预览版的模型 |
messages |
[{"role": "system","content":""},{"role": "user","content":""}] |
array |
提示词 |
上下文信息,system用于定义gpt的角色和功能预设,user为用户的问题 |
stream |
false |
bool |
流 |
因为GPT一次只能预测一个token,使用流可以节省用户等待第一次相应的事件,一般是在用户可见的返回内容场景使用 |
max_tokens |
null |
int/null |
最大回复长度 |
想要限制模型的回复长度时使用,仅对返回的结果长度有效,不能保证结果的完整性 |
temperature |
1 |
[0.0, 2.0] |
温度 |
类似于熵的概念,温度越高预测下一个词的概率分布越平均,过大是个”疯子“,过小是个“书呆子“ |
top_p |
1 |
[0.0,1.0] |
核采样范围 |
定义待选择词的范围,比如0.1是只在前10%(不是个数,是概率和)的最优词里面选择 |
frequency_penalty |
0 |
[-2.0,2.0] |
频率性惩罚 |
如果某个词在前面大量出现,将对其再次出现的概率做出惩罚,不想让相同的词大量重复出现时可使用(惩罚程度和出现次数有关) |
presence_penalty |
0 |
[-2.0,2.0] |
存在性惩罚 |
如果某个词在前面大量出现,将对其再次出现的概率做出惩罚,不想让相同的词大量重复出现时可使用(惩罚程度和是否出现有关) |
seed |
null |
int/null |
种子 |
固定采样的随机种子,让采样的词更加稳定,想让gpt的多次回复内容比较稳定时使用,但并不是绝对的,因为gpt推理出的token概率分布每次都不太一样 |
response_format |
|
map/null |
返回类型 |
一般想让GPT回复json字符串时使用 |
logprobs |
false |
bool |
返回每个词的对数概率 |
推理时token的概率分布,调试、句子分类、自动补全提示 |
top_logprobs |
1 |
[0,20] |
返回logprobs个数 |
|
tools |
|
array |
工具 |
自定义一些获取数据、计算等函数,让GPT按需使用 |
tool_choice |
|
null/"auto" |
是否使用工具 |
|
stop |
|
string |
自定义停用词 |
遇到某个词会自动停止,业务使用应该不多 |
n |
1 |
1 |
int |
一个问题有多少个版本的回复 |
log_bias |
|
|
map |
逻辑偏差,控制某个词的频率 |