Классификация отчётов с помощью базовой модели
Вы работаете над функцией на основе ИИ, которая помогает быстро оценивать погодные условия. Вместо того чтобы читать длинные отчёты, пользователи хотят видеть краткое однословное описание в приложении SkyCast Assistant. В качестве демонстрационного решения вы используете Amazon Bedrock, чтобы свести погодный отчёт к одному слову из заранее заданного списка.
Библиотеки boto3 и json уже загружены. Также предварительно загружены: образец погодного отчёта в переменной report и список допустимых категорий categories.
Это упражнение является частью курса
Введение в Amazon Bedrock
Инструкции к упражнению
- Создайте запрос, в котором указаны допустимые категории из списка
categoriesи содержится текстreport. - Добавьте этот запрос в тело запроса при вызове модели.
- Извлеките итоговое слово из объекта
response, возвращённого Bedrock.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
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)}")