Управление диалогами с ИИ

Введение в Amazon Bedrock

Nikhil Rangarajan

Data Scientist

Управление состоянием диалога в Bedrock

  • Управление диалогами: основа естественного и связного взаимодействия с ИИ
  • Контекст диалога: включает историю и метаданные
  • Модели Claude учитывают контекст

Иллюстрация с кружками, каждый из которых представляет элемент диалога: сообщение, историю и метаданные.

Введение в Amazon Bedrock

Реализация управления диалогом

  • Класс ConversationManager отвечает за основную логику диалога
  • История сообщений хранит записи пользователя и ассистента с ролями
  • Структурированный подход обеспечивает масштабируемость и поддерживаемость
class ConversationManager:

def __init__(self): self.bedrock = boto3.client('bedrock-runtime')
self.conversation_history = [] self.max_tokens = 8000
def add_message(self, role, content): self.conversation_history .append({"role": role,
"content": content
})
Введение в Amazon Bedrock

ConversationManager на практике

  • Добавляйте новые сообщения в журнал диалога
  • Фиксируйте ввод пользователя
  • Помогайте модели сохранять контекст

 

conversation_manager = ConversationManager()
conversation_manager.add_message("user", "What's the weather like?")
Введение в Amazon Bedrock

ConversationManager на практике

  • Форматируйте как сообщение
  • Ограничивайте объём передаваемого текста
  • Отправляйте отформатированный диалог модели
# Send the latest context to the model
conversation_history = conversation_manager.conversation_history
messages = "\n\n".join(
    f"{msg['role']}: {msg['content']}" 
    for msg in conversation_history[-2:]) # Only most recent exchanges


# Send the full message to the model response = conversation_manager.bedrock.invoke_model( modelId="amazon.nova-micro-v1:0", body=messages)
Введение в Amazon Bedrock

Давайте потренируемся!

Введение в Amazon Bedrock

Preparing Video For Download...