Categorización de informes con un foundation model
Ahora estás trabajando en una función de IA que ayuda a entender rápidamente las condiciones meteorológicas. En lugar de leer informes largos, los usuarios quieren que aparezca en su app SkyCast Assistant un resumen sencillo de una sola palabra. Como prueba de concepto, usas Amazon Bedrock para resumir un informe meteorológico en una única palabra de una lista predefinida.
Las bibliotecas boto3 y json ya se han cargado. También se han precargado un informe meteorológico de ejemplo guardado como report y una lista de categories válidas.
Este ejercicio forma parte del curso
Introducción a Amazon Bedrock
Instrucciones del ejercicio
- Crea un prompt que mencione las categorías permitidas de la lista
categoriese incluya elreport. - Añade este prompt al cuerpo de la solicitud al invocar el modelo.
- Extrae el resumen de la
responseque devuelve 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)}")