趋近智
与LLM API交互时,您不仅仅发送提示文本;您还会附带一组参数,这些参数指示模型如何生成其响应。可以将这些参数视为LLM行为的控制开关。尽管不同API提供商(如OpenAI、Anthropic、Google Cloud Vertex AI或Cohere)之间的具体名称和可用选项可能略有不同,但核心原理大致相同。掌握这些参数对于根据您的特定应用需求调整LLM输出很有帮助。
现在,让我们来了解您会遇到的最常用且效果显著的参数。
这些参数明确了您正在使用哪个模型以及您正在提供什么输入。
model: 这个字符串参数指定了您希望使用的具体大型语言模型。例如 gpt-4o-mini、claude-3-sonnet-20240229 或 gemini-1.5-pro-latest。您的选择会影响模型的能力(例如,推理能力、指令遵循)、知识截止日期、上下文窗口大小(模型可以考虑的文本量)、性能(延迟)和成本。根据任务要求选择合适的模型通常需要权衡这些因素。例如,对于简单的摘要任务,一个更简单的模型可能就足够且更具成本效益,而对于复杂的推理或创造性生成,则可能需要一个能力更强的模型。
prompt 或 messages: 这是您为LLM提供实际输入文本的地方。
prompt参数,作为一个单一字符串。messages参数。它接受一个消息对象列表,通常是字典,每个字典指定一个role(system、user或assistant)和content(消息文本)。这种结构化格式使您能够有效地提供上下文、指令(通常通过system角色)和对话历史记录。# 聊天模型API调用中'messages'结构的示例
messages_payload = [
{"role": "system", "content": "您是一个能将英语翻译成法语的有用助手。"},
{"role": "user", "content": "翻译以下句子:'Hello, how are you?'"}
]
# 此列表将是发送到API的整体请求体的一部分。
这些参数管理生成响应的大小和终止点。
max_tokens (或类似名称,如max_output_tokens、max_tokens_to_sample): 这个整数参数设置了模型在其响应中被允许生成的最大token数量。Token是单词的片段;对于英文文本,一个token大约是四分之三个单词。设置此限制对于以下方面很重要:
请注意,如果模型的自然响应长于max_tokens,输出将被截断,可能会在句子或思维中间中断。您需要选择一个足够大以获得预期有用响应的值,但又要足够小以保证效率。
stop (或 stop_sequences): 此参数允许您指定一个或多个文本序列,如果模型生成了这些序列,将导致模型立即停止生成后续token。这对于以下方面很有用:
\n\n或---END---。}或一个特定的分隔符)。User:或Human:等停止序列,以防止模型虚构下一个用户轮次。API将返回生成文本,直到但不包括停止序列。
最常调整的参数可能是那些控制输出随机性和风格的参数。
temperature: 这个浮点参数(通常范围为0.0到1.0,有时为2.0)调整输出的随机性。从技术上讲,它在应用softmax函数之前,会对logits(下一个Token的原始概率分数)进行缩放。
temperature(例如0.0 - 0.3): 使模型更具确定性和集中性。它会始终选择概率最高的Token。将低值用于需要事实准确性、可预测性或遵守特定格式的任务,例如代码生成、事实问答或数据提取。温度为0旨在获得最有可能的单一输出(尽管由于计算因素可能仍存在细微差异)。temperature(例如0.7 - 1.0+): 增加随机性和创造性。模型更可能选择概率较低的Token,从而产生更多样、更出人意料或更有想象力的输出。将高值用于创意写作、头脑风暴、生成多个选项或模拟更像人类的对话等任务。在较低的温度下,概率分布更集中,倾向于选择最有可能的Token。较高的温度会使分布变平,增加选择概率较低Token的机会。
top_p (核采样): 这个参数也是一个浮点数,通常介于0.0和1.0之间,提供了另一种控制随机性的方式。top_p不基于温度缩放的概率考虑所有Token,而是将选择范围限制在累积概率质量大于或等于p的最小Token集合中。
top_p为0.9,模型仅考虑那些加起来构成下一步概率分布90%的最有可能的Token。然后它从这个缩小后的集合中进行采样(通常与温度结合使用)。top_p为1.0时考虑所有Token。非常低的top_p(例如0.1)会使输出高度确定性,类似于低温度。top_p在防止模型选择非常低概率、可能无意义的Token方面特别有效,即使在较高温度下也是如此,因为它会根据概率分布的形状动态调整候选池的大小。建议: API提供商通常建议调整temperature或top_p其中之一,但不要同时显著调整两者。一种常见的方法是将top_p设置为一个较高的值(如0.9或0.95),然后调整temperature以获得所需的创造性与集中度水平。
尽管以上参数是最常见的,但API文档可能会列出其他参数:
n: 指定为给定提示生成多少个独立的完成。这对于获取多个建议或选项很有用。请注意,这会使您的Token使用成本成倍增加。presence_penalty: 一个浮点数(通常为-2.0到2.0),根据Token是否已在当前生成的文本中出现而对其进行惩罚。正值会抑制重复。frequency_penalty: 类似于presence_penalty,但根据Token在文本中出现的频率对其进行惩罚。正值会降低频繁重复相同词语的可能性。logit_bias: 允许您手动增加或减少特定Token在输出中出现的可能性。这是一个高级功能,通常用于对生成进行细粒度控制。user: 一个代表发出请求的最终用户的唯一标识符字符串。模型本身不使用它进行生成,但它有助于API提供商监控潜在的滥用情况,并且在您的应用程序中追踪个人用户的使用情况也很有用。了解这些参数是第一步。下一步是实验。最佳设置在很大程度上取决于特定的LLM、任务和所需的输出风格。
temperature同时保持其他参数不变),并观察其对输出质量和特征的影响。top_p,对于创意性任务使用高温度/top_p。使用stop_sequences来强制输出结构。适当设置max_tokens以控制成本和完成度。通过仔细选择和调整这些参数,您可以对LLM的输出获得显著控制,从简单的提示转向在应用程序中设计更可靠和有效的交互。
简洁的语法。内置调试功能。从第一天起就可投入生产。
为 ApX 背后的 AI 系统而构建
这部分内容有帮助吗?
© 2026 ApX Machine Learning用心打造