Catégorisation des rapports sur les modèles de base
Vous travaillez actuellement sur une fonctionnalité d'IA qui permet de comprendre rapidement les conditions météorologiques. Au lieu de lire de longs rapports, les utilisateurs préfèrent voir apparaître un résumé simple, en un seul mot, sur leur application SkyCast Assistant. À titre de preuve de concept, vous utilisez Amazon Bedrock pour résumer un bulletin météo en un seul mot issu d'une liste prédéfinie.
Les bibliothèques boto3
et json
ont été préchargées. Un exemple de bulletin météorologique enregistré sous le nom « report
» et une liste de fichiers « categories
» valides ont également été préchargés.
Cet exercice fait partie du cours
Introduction à Amazon Bedrock
Instructions
- Veuillez créer une invite qui mentionne les catégories autorisées dans la liste
categories
et inclut le lienreport
. - Veuillez ajouter cette invite au corps de la requête lorsque vous invoquez le modèle.
- Extrayez le résumé de l'
response
s renvoyées 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)}")