Categorização do relatório do modelo básico
Você tá trabalhando num recurso de IA que ajuda a entender rapidinho as condições do tempo. Em vez de ler relatórios longos, os usuários querem um resumo simples, de uma palavra, que apareça no aplicativo SkyCast Assistant. Como prova de conceito, você usa o Amazon Bedrock para resumir um boletim meteorológico em uma única palavra de uma lista pré-definida.
As bibliotecas boto3
e json
já estão instaladas. Um exemplo de boletim meteorológico salvo como “ report
” e uma lista de “ categories
” válidos 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
categories
e inclua oreport
. - Adicione este prompt ao corpo da solicitação ao invocar o modelo.
- Pega o resumo do
response
que o Bedrock te mandou.
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)}")