Contrôler la sortie avec top_p et max_tokens
L’équipe marketing souhaite désormais deux versions d’une histoire sur ChefBot, le robot cuisinier phare : un bref compte rendu pour les investisseurs et un article de blog « dans les coulisses » plus créatif.
Dans cet exercice, les bibliothèques boto3 et json, ainsi que le client bedrock, ont été préimportés.
Cet exercice fait partie du cours
Introduction à Amazon Bedrock
Instructions
- Générez une histoire concise avec un
top_pfaible et unmax_tokensfaible, puis une histoire plus créative avec untop_pélevé et unmax_tokensélevé, en limitantmax_tokensà un maximum de 200.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
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='anthropic.claude-3-5-sonnet-20240620-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)