НачатьНачать бесплатно

Классификация отчётов с помощью базовой модели

Вы работаете над функцией на основе ИИ, которая помогает быстро оценивать погодные условия. Вместо того чтобы читать длинные отчёты, пользователи хотят видеть краткое однословное описание в приложении 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)}")
Редактировать и запускать код