Чат-бот, который помнит историю переписки

Урок 21 из 32 курса «Llama: сценарии использования»: официальный курс Llama Cookbook (Мета Лама) на русском языке. Урок входит в платный доступ; первые уроки курса бесплатно.

Цели урока

  • Основы chat completion: Как структурировать диалоги, используя роли system, user и assistant.
  • Как управлять историей переписки: Реализовать скользящее окно для поддержания контекста в долгих диалогах без превышения лимитов токенов.
  • Практический prompt engineering: Как направлять модель отвечать на вопросы *только* на основе предоставленного текста.
  • Как выполнять мета-задачи: Использовать модель для суммирования истории переписки.

О чём урок

Copyright (c) Meta Platforms, Inc. и аффилированные лица. Данное программное обеспечение может использоваться и распространяться в соответствии с условиями Лицензионного соглашения сообщества Llama. В этом руководстве показано, как создать чат-бот с историей переписки. Используя Llama 4, мы создадим разговорного агента, который принимает URL, понимает его содержимое и позволяет вам вести с ним интерактивный диалог, сохраняя при этом историю переписки. Компонент Выбор Почему Модель Llama-4-Maverick-17B-128E-Instruct-FP8 Мощная модель Mixture-of-Experts (MoE), идеально подходящая для выполнения сложных инструкций. Llama 4 Maverick предлагает превосходную производительность и огромное контекстное окно (до 1M токенов). Подход In-context learning + память со скользящим окном Мы будем передавать все содержимое веб-страницы непосредственно в контекст модели. Большое контекстное окно Llama 4 делает этот простой подход жизнеспособным даже для очень больших страниц, часто устраняя необходимость в сложной RAG системе. Инфраструктура Официальный Llama API от Meta Предоставляет бессерверный, готовый к production доступ к моделям Llama 4 с использованием SDK llama_api_client. Примечание о провайдерах инференса: В этом руководстве Llama API используется в демонстрационных целях. Однако вы можете запускать модели Llama 4 с любым предпочтительным провайдером инференса. Распространенные примеры включают Amazon Bedrock и Together AI. Основная логика этого руководства может быть адаптирована для любого из этих провайдеров. Для этого проекта вам понадобится несколько библиотек: requests для загрузки веб-страниц, readability-lxml для извлечения основного содержимого, markdownify для преобразования HTML в чистый Markdown, tiktoken для точного подсчета токенов и официальный llama-api-client. В этом руководстве мы будем использовать Llama API в качестве провайдера инференса. Поэтому вам сначала потребуется получить API key от Llama API, если у вас его еще нет. Затем установите API key Llama в качестве переменной окружения, например LLAMA_API_KEY, как показано в примере.

План урока

  1. Что вы узнаете
  2. Установка зависимостей
  3. Импорты и настройка клиента Llama API
  4. Получение и очистка веб-страницы
  5. Управление контекстным окном
  6. Чат-бот с историей переписки
  7. Запуск интерактивного чат-цикла
  8. Бонус: Суммирование переписки

Урок входит в полный доступ. Полный текст и видео открываются после оплаты. Первые уроки каждого курса бесплатны.

Полезные гиды