当通过 AWS Bedrock 使用模型时,要设置诸如最大 Token 数、温度或 Top-P 等参数,您需要在调用模型时在 API 请求正文中配置这些选项。 Bedrock 提供了对各种基础模型的访问,并且每个模型提供商(例如,Anthropic、AI21、Cohere)可能会使用略有不同的参数名称或值范围。 例如,当使用 Anthropic 的 Claude 模型时,您需要在发送到 InvokeModel
API 的 JSON payload 中包含诸如 max_tokens_to_sample
、temperature
和 top_p
等参数。 这些设置在请求的特定于模型的配置部分下指定,允许您控制输出长度、随机性和 Token 选择。
每个参数都有其独特用途。 max_tokens
(或类似变体,如 max_tokens_to_sample
)限制了生成响应的长度。 例如,设置 max_tokens_to_sample: 200
可确保模型在生成 200 个 Token 后停止。temperature
调整随机性:较低的值(例如,0.2)使输出更可预测,而较高的值(例如,0.8)鼓励创造性。 top_p
,或 nucleus 抽样,将 Token 选择限制为累积概率阈值。 例如,top_p: 0.9
意味着模型仅考虑构成概率质量前 90% 的 Token。 这些参数通常一起工作 - 将较低的 temperature
与适度的 top_p
(例如,0.7)结合使用可以平衡焦点和多样性。 请注意,某些提供商建议使用 temperature
或 top_p
,而不是两者都使用,以避免冲突行为。
在实施这些设置时,请查阅特定模型的文档以获取确切的参数名称和范围。 例如,AI21 Jurassic-2 使用 maxTokens
和 temperature
,而 Cohere Command 需要 max_tokens
和 temperature
,范围为 0-5。 测试小调整是关键:0.5 的 temperature
可能适用于事实问答,而 1.0 可能适合创意讲故事。 避免将 max_tokens
设置得太低(例如,50),这可能会截断响应,或者设置得太高(例如,1000),这会带来不必要的成本。 始终使用不同的配置验证输出,以与您的用例保持一致,例如使用 temperature: 0.3
进行代码生成,以优先考虑准确性而不是新颖性。