OpenAI Completions API 的核心参数包括以下几个:
1、prompt(提示):这是你希望模型开始生成文本的初始字符串。模型会在这个字符串的基础上生成剩余的文本。
2、max_tokens(最大令牌数):这是模型生成的最大令牌数。一般来说,英文中一个单词或者标点符号大约是一个令牌。如果不指定这个参数,模型可能会生成非常长的文本。
3、temperature(温度):温度值用于控制模型生成文本的随机性。温度值越高,模型生成的文本就越随机;温度值越低,模型则趋向于生成最有可能的输出。例如,温度为 1.0 会使输出更随机,而温度为 0.0 会使模型只生成最有可能的输出。
4、top_p(nucleus 概率采样):这是一个高级参数,用于控制输出的随机性。当 top_p 设置为 0.5,意味着在生成每个令牌时,模型只考虑总概率质量为 0.5 的最小令牌集。这有时被称为 "nucleus sampling"。
5、frequency_penalty 和 presence_penalty:这两个参数可以用来惩罚或奖励特定令牌的使用。frequency_penalty 可以降低或增加常见词的频率,而 presence_penalty 可以降低或增加新词的出现。
记住,使用这些参数时,你可能需要进行一些试验,以找到最适合你特定用途的设置。
OpenAI的Chat Completions API与之前的Completions API有些许不同,它更适合于多轮对话。以下是Chat Completions API的主要参数:
messages(消息):这是一个消息对象的数组,每个消息对象都有一个 "role"(角色)和"content"(内容)。角色可以是 'system'、'user' 或 'assistant',而内容包含了该角色的文字信息。
max_tokens(最大令牌数):这是模型生成的最大令牌数。如果不指定这个参数,模型可能会生成非常长的文本。
temperature(温度):这个参数控制输出的随机性。数值越高,输出结果就会越随机;数值越低,输出结果则会越确定。
top_p(nucleus 概率采样):这是一个高级参数,用于控制输出的随机性。当 top_p 设置为 0.5,意味着在生成每个令牌时,模型只考虑总概率质量为 0.5 的最小令牌集。这有时被称为 "nucleus sampling"。
frequency_penalty 和 presence_penalty:这两个参数可以用来惩罚或奖励特定令牌的使用。frequency_penalty 可以降低或增加常见词的频率,而 presence_penalty 可以降低或增加新词的出现。
与之前的Completions API不同,Chat API在模型中使用了对话的历史信息,从而更好地理解上下文并生成更相关的回复。