top_p と max_tokens で出力を制御する
マーケティングチームは、旗艦の調理ロボット「ChefBot」について、投資家向けの簡潔なブリーフィングと、より創造的な「舞台裏」ブログ記事の2種類のストーリーを求めています。
この演習では、boto3 と json ライブラリ、および bedrock クライアントがあらかじめインポートされています。
この演習はコースの一部です
Amazon Bedrock入門
演習の手順
- 低い
top_pと低いmax_tokensで簡潔なストーリーを、そして高いtop_pと高いmax_tokensでより創造的なストーリーを生成します。max_tokensは最大で 200 にしてください。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
def generate_story_with_params(bedrock, top_p, max_tokens):
messages = [{"role": "user",
"content": "Write a story about ChefBot writing a bestselling AI-powered cookbook memoir."}]
request_body=json.dumps({"anthropic_version": "bedrock-2023-05-31", "max_tokens": max_tokens,
"top_p": top_p, "messages": messages})
response = bedrock.invoke_model(body=request_body, modelId='us.anthropic.claude-sonnet-4-5-20250929-v1:0')
response_body = json.loads(response.get('body').read().decode())
return response_body["content"][0]["text"]
# Modify the parameters to create the two stories
short_focused = generate_story_with_params(bedrock, ____, ____)
long_diverse = generate_story_with_params(bedrock, ____, ____)
print("More focused: ", short_focused, "More creative: ", long_diverse)