Catégorisation de rapports par un modèle de base
Vous travaillez maintenant sur une fonctionnalité d'IA qui aide à comprendre rapidement les conditions météo. Plutôt que de lire de longs rapports, les utilisateurs veulent voir un résumé simple, en un seul mot, dans leur application SkyCast Assistant. Comme preuve de concept, vous utilisez Amazon Bedrock pour résumer un rapport météo en un seul mot tiré d'une liste prédéfinie.
Les bibliothèques boto3 et json ont été préchargées. Un exemple de rapport météo enregistré sous report et une liste de categories valides ont aussi été préchargés.
Cette activité fait partie du cours
Introduction à Amazon Bedrock
Instructions de l’exercice
- Créez une invite qui mentionne les catégories permises à partir de la liste
categorieset inclut lereport. - Ajoutez cette invite au corps de la requête lors de l'invocation du modèle.
- Extrayez le résumé de la
responserenvoyée par Bedrock.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
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="us.amazon.nova-2-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)}")