Catégorisation d’un rapport par un foundation model
Vous travaillez maintenant sur une fonctionnalité d’IA qui aide à comprendre rapidement les conditions météo. Plutôt que de lire de longs bulletins, les utilisateurs souhaitent voir apparaître un résumé simple, en un mot, dans leur application SkyCast Assistant. Comme preuve de concept, vous utilisez Amazon Bedrock pour résumer un bulletin météo en un seul mot à partir d’une liste prédéfinie.
Les bibliothèques boto3 et json ont été préchargées. Un exemple de bulletin météo enregistré dans report et une liste de categories valides ont également été préchargés.
Cet exercice fait partie du cours
Introduction à Amazon Bedrock
Instructions
- Créez une invite qui mentionne les catégories autorisées à partir de la liste
categorieset inclut lereport. - Ajoutez cette invite au corps de la requête lors de l’appel du modèle.
- Extrayez le résumé de la
responserenvoyée par Bedrock.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
def summarize_weather(report):
bedrock = boto3.client("bedrock-runtime", region_name="us-east-1")
# Create prompt with allowed categories and pass in the report
prompt = f"""Summarize the following weather report as one word from: {', '.join(____)}. Report: {____}"""
# Pass the prompt to the body
body = {"messages": [{"role": "user", "content": [{"text": ____}]}]}
response = bedrock.invoke_model(modelId="amazon.nova-lite-v1:0", body=json.dumps(body))
# Extract the summary from the response
data = json.loads(response.get("body").read()____)
return data["output"]["message"]["content"][0]["text"]
print(f"Weather Summary: {summarize_weather(report)}")