Categorização de relatório por foundation model
Agora você está trabalhando em um recurso de IA que ajuda a entender rapidamente as condições do tempo. Em vez de ler relatórios longos, os usuários querem um resumo simples, de uma única palavra, que apareça no app SkyCast Assistant. Como prova de conceito, você usa o Amazon Bedrock para resumir um relatório meteorológico em uma única palavra escolhida de uma lista predefinida.
As bibliotecas boto3 e json já foram carregadas. Um relatório meteorológico de exemplo salvo como report e uma lista de categories válidas também foram pré-carregados.
Este exercício faz parte do curso
Introdução ao Amazon Bedrock
Instruções do exercício
- Crie um prompt que mencione as categorias permitidas da lista
categoriese inclua oreport. - Adicione esse prompt ao corpo da solicitação ao invocar o modelo.
- Extraia o resumo da
responseretornada pelo Bedrock.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
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)}")