Categorización de informes del modelo básico
Ahora estás trabajando en una función de IA que ayuda a comprender rápidamente las condiciones meteorológicas. En lugar de leer informes largos, los usuarios quieren que aparezca un resumen sencillo de una sola palabra en vuestra aplicación SkyCast Assistant. Como prueba de concepto, utilizas Amazon Bedrock para resumir un informe meteorológico en una sola palabra de una lista predefinida.
Las bibliotecas boto3
y json
han sido precargadas. También se han precargado un informe meteorológico de ejemplo guardado como « report
» y una lista de « categories
» válidos.
Este ejercicio forma parte del curso
Introducción a Amazon Bedrock
Instrucciones del ejercicio
- Crea un mensaje que mencione las categorías permitidas de la lista
categories
e incluya elreport
. - Añade esta indicación al cuerpo de la solicitud cuando invoques el modelo.
- Extrae el resumen del informe de progreso (
response
) devuelto por Bedrock.
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
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)}")