Упражнение: чат

Чему научитесь

Видео 3:54

К концу упражнения вы сможете:

На странице урока только видео. Ниже — его содержание по субтитрам.

Смотреть урок на Skilljar Chat exercise · 3:54

Задача

Короткое упражнение, чтобы убедиться, что всё пока понятно. Нужно собрать очень маленький чат-бот, который работает прямо в Jupyter-ноутбуке. Устроен он так:

Как это должно работать

В ролике автор сначала запускает готовое (спрятанное) решение. Ячейка сразу просит ввод. Он пишет «what's one plus one», видит свою реплику и ответ Claude, и ячейка снова просит ввод. Дальше он пишет «add two to that answer» — и Claude отвечает, что если к прошлому ответу, двум, прибавить два, получится четыре. Значит, история разговора сохраняется. Цикл идёт бесконечно, пока его не прервать: кнопка interrupt в ноутбуке и клавиша Escape.

Подсказка

Если вы не знакомы с функцией input, автор даёт шаблон: в начале пустой список сообщений, затем цикл while True, который крутится вечно. Внутри цикла пользователь вводит текст через input, и строка попадает в переменную user_input. Дальше в шаблоне идут комментарии — шаги, которые нужно дописать.

Здесь в ролике предлагают поставить видео на паузу и попробовать решить самим.

Решение

Достаточно пройти по комментариям шаблона:

messages = []

while True:
    user_input = input()
    add_user_message(messages, user_input)
    answer = chat(messages)
    add_assistant_message(messages, answer)
    print("---")
    print(answer)
    print("---")

Проверка: автор запускает ячейку, спрашивает «what's one plus one», получает ответ, затем пишет «add two more» и видит, что прибавить два к «один плюс один» — получится четыре. Простой чат-бот с циклом готов.

Дальше

Следующий урок — system prompt: как задать тон и роль ответа отдельно от реплик.

Оригинал урока: Chat exercise.