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 |
邏輯偏差,控制某個詞的頻率 |