Одношаговый и параллельный вызов инструментов

Урок 112 из 114 курса «Cohere: LLM University»: официальный курс Cohere LLM University (Кохир) на русском языке. Урок входит в платный доступ; первые уроки курса бесплатно.

О чём урок

Прочитайте сопутствующую статью здесь. С Cohere вы можете использовать инструменты в двух различных режимах: одношаговом и многошаговом. В сценарии одношагового использования инструментов LLM вызывает один инструмент или множество инструментов параллельно. Затем инструменты возвращают результаты, и LLM использует эти результаты для генерации своего ответа. В этом блокноте мы рассмотрим одношаговое использование инструментов и увидим, как использование инструментов работает в следующих сценариях: Множество инструментов: Что, если бы модель имела в своем распоряжении несколько инструментов? Как модель определяет, какие инструменты использовать в конкретный момент? Параллельные вызовы инструментов: Как это выглядит, если требуется более одного вызова инструмента? Когда не использовать инструменты: Что, если на вопрос можно и нужно ответить непосредственно моделью без использования инструмента? Использование инструментов в чате: Что, если у пользователя были уточняющие вопросы, то есть как помощник поддерживает контекст разговора в многоходовом чате? Сначала установим Cohere Python SDK и настроим клиент Cohere. Теперь создадим два инструмента: Функция для запроса базы данных продаж под названием query_daily_sales_report, которая включает фиктивную базу данных продаж Функция для запроса каталога продуктов под названием query_product_catalog, которая включает фиктивный каталог продуктов Далее мы определяем схему инструментов для двух инструментов. Обе функции принимают по одному параметру: day и category соответственно. Далее мы определяем преамбулу (необязательно). Давайте создадим функцию под названием run_assistant, которая выполняет следующее: Получает сообщение пользователя (Шаг 1) Вызывает конечную точку Chat для генерации вызова инструмента (Шаг 2) Если ответ содержит хотя бы один вызов инструмента, выполняет вызов(ы) инструмента и получает результаты инструмента (Шаг 3) Генерирует окончательный ответ со ссылками (Шаг 4) Мы помещаем Шаги 2 и 3 в цикл, проверяя, содержит ли ответ модели вызовы инструментов. Это позволяет помощнику обрабатывать любое количество шагов вызова инструмента (ноль, один или несколько) для данного сообщения пользователя. Мы также позволяем помощнику сохранять состояние (или память) разговора, что позволяет ему обрабатывать сценарии многоходового чата.

План урока

  1. Одношаговый
  2. Одношаговый, параллельный
  3. Прямой ответ
  4. Вопросы, не требующие инструментов
  5. Вопросы, требующие инструментов, но инструменты недоступны
  6. Управление состоянием (память)

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

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