AI Prompt Engineering · Урок

Пользовательские инструменты и плагины для LLM

Разрабатывайте и интегрируйте пользовательские инструменты, которые LLM могут использовать для расширения возможностей за пределами базовых знаний.

Урок 3 из 311 шагов

«Пользовательские инструменты и плагины для LLM» — бесплатный урок AI Prompt Engineering на CoddyKit. Это урок 3 из 3. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения AI Prompt Engineering, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс AI Prompt Engineering содержит 3 уроков всего.

Что такое пользовательские инструменты?

Добро пожаловать на заключительный урок курса «Продвинутый промптинг с использованием инструментов и агентов»! Сегодня Вы подробно изучите пользовательские инструменты и плагины для больших языковых моделей (LLM).

Пользовательские инструменты позволяют LLM выходить за пределы обучающих данных и взаимодействовать с реальным миром или конкретными системами. Представьте их как особые навыки, которым Вы обучаете LLM.

  • Расширение возможностей: добавляйте новые функции.
  • Доступ к данным в реальном времени: получайте актуальную информацию.
  • Выполнение действий: вносите изменения во внешние системы.

Пользовательские и встроенные возможности

Вы узнали об основах вызова функций и интеграции с программными интерфейсами приложений. Пользовательские инструменты позволяют пойти ещё дальше.

Хотя LLM может изначально уметь «суммировать текст», он не знает, как «узнать погоду в Лондоне», если Вы не предоставите ему соответствующий инструмент. Пользовательские инструменты устраняют этот пробел, предоставляя LLM конкретные внешние возможности, которые не входят в его основные знания.

Устройство пользовательского инструмента

Каждому пользовательскому инструменту нужно чёткое определение, чтобы LLM знал, когда и как его использовать. Ключевые компоненты включают:

  • Имя: уникальный идентификатор (например, get_current_time).
  • Описание: объясняет, что делает инструмент и когда его следует использовать. Это особенно важно для принятия решений LLM.
  • Параметры: входные данные, необходимые инструменту для работы (например, timezone для инструмента работы со временем).
  • Ожидаемый результат: информация, которую возвращает инструмент.

Описание инструментов с помощью схемы

Чтобы «обучить» LLM работе с пользовательским инструментом, мы предоставляем его определение в структурированном формате, часто в виде схемы JSON. Эта схема сообщает LLM всё необходимое для правильного вызова инструмента.

Ниже приведён упрощённый пример описания нашего инструмента get_current_time:

{
  "name": "get_current_time",
  "description": "Gets the current time in a specified timezone.",
  "parameters": {
    "type": "object",
    "properties": {
      "timezone": {
        "type": "string",
        "description": "The timezone to get the time for (e.g., UTC, America/New_York)."
      }
    },
    "required": []
  }
}

Создание простого инструмента: получение времени

Создадим практический пример: инструмент с именем get_current_time. Этот инструмент будет просто возвращать текущее время, при необходимости — для указанного часового пояса.

Хотя LLM понимает описание из схемы, мы отвечаем за написание фактического кода, который выполняет описанное действие. Этот код запускается во внешней системе, когда LLM решает вызвать инструмент.

Пример реализации инструмента

В этом фрагменте кода на Python показано, как инструмент get_current_time может работать в фоне. Когда LLM вызывает инструмент, система выполняет эту функцию (или аналогичную логику на выбранном Вами языке) и получает результат.

Попробуйте запустить код, чтобы увидеть результат!

import datetime

def get_current_time(timezone="UTC"):
    """
    Returns the current time in the specified timezone.
    """
    # For simplicity, we'll return UTC time and note timezone
    now = datetime.datetime.now(datetime.timezone.utc)
    return f"Current time in {timezone}: {now.strftime('%Y-%m-%d %H:%M:%S')} (UTC basis)"

# This is the entry point that would be called by the LLM's integration layer
if __name__ == "__main__":
    print(get_current_time())
    print(get_current_time(timezone="America/New_York"))

Процесс вызова инструмента LLM

Обычно LLM использует пользовательский инструмент следующим образом:

  1. Промпт пользователя: Вы задаёте LLM вопрос (например, «Который час в Нью-Йорке?»).
  2. Решение LLM: LLM анализирует Ваш промпт и доступные описания инструментов.
  3. Вызов инструмента: если инструмент подходит, LLM формирует вызов инструмента (например, get_current_time(timezone="America/New_York")).
  4. Выполнение: Ваша система выполняет фактический код инструмента.
  5. Результат: результат работы инструмента возвращается LLM.
  6. Ответ LLM: LLM использует результат работы инструмента, чтобы сформулировать окончательный ответ для Вас.

Промптинг с пользовательскими инструментами

Когда Вы отправляете промпт LLM, имеющему доступ к пользовательским инструментам, не нужно явно указывать использовать инструмент. Просто задайте вопрос, который подразумевает необходимость такого инструмента.

Ключевую роль играет способность LLM понимать описание инструмента. Хорошее описание помогает LLM выбрать подходящий инструмент в нужный момент.

  • Промпт: "What is the current time right now?"
  • Действие LLM: вызывает get_current_time()
  • Результат инструмента: "Current time in UTC: 2023-10-27 10:30:00 (UTC basis)"
  • Ответ LLM: "The current time is 10:30 AM UTC."

Преимущества пользовательских инструментов

Пользовательские инструменты открывают для LLM широкие возможности:

  • Специализация в предметной области: предоставляйте LLM знания, выходящие за рамки общего обучения.
  • Взаимодействие в реальном времени: получайте самую актуальную информацию (например, котировки акций и данные о погоде).
  • ИИ, способный действовать: позволяйте LLM выполнять действия (например, отправлять электронные письма и бронировать встречи).
  • Повышенная точность: уменьшайте количество выдуманных ответов, опираясь на фактические результаты работы инструментов.
  • Модульность: отделяйте логику LLM от взаимодействия с внешними системами.

Быстрая проверка: пользовательские инструменты

Какие из перечисленных компонентов необходимы в определении пользовательского инструмента для LLM?

Повторение: расширение возможностей LLM

На этом уроке Вы изучили пользовательские инструменты и плагины — мощный способ расширить возможности LLM.

  • Пользовательские инструменты позволяют LLM взаимодействовать с внешними системами и данными.
  • Для них требуется чёткое определение (имя, описание и параметры), часто в виде схемы JSON.
  • Вы реализуете фактическую логику, которая выполняется при вызове инструмента LLM.
  • Пользовательские инструменты позволяют LLM получать знания в конкретной предметной области, обращаться к данным в реальном времени и выполнять действия, выходя за рамки простой генерации текста.

Освоив пользовательские инструменты, Вы сможете создавать действительно интеллектуальные и интерактивные приложения на основе ИИ!

Можно начать бесплатно

Изучай AI Prompt Engineering с ИИ-репетитором — бесплатно

Пиши и запускай код прямо в браузере, получай мгновенную помощь от ИИ-репетитора 24/7 и продолжи учиться на сайте или в приложении.

Курсы
53
Уроки
199

Часто задаваемые вопросы

Урок «Пользовательские инструменты и плагины для LLM» бесплатный?

Да — полный текст урока «Пользовательские инструменты и плагины для LLM» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс AI Prompt Engineering, подпишись на CoddyKit PRO. Курс AI Prompt Engineering содержит 3 уроков всего.

Чему я научусь в уроке «Пользовательские инструменты и плагины для LLM»?

Разрабатывайте и интегрируйте пользовательские инструменты, которые LLM могут использовать для расширения возможностей за пределами базовых знаний. Ты практикуешь AI Prompt Engineering с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать AI Prompt Engineering?

Предыдущий опыт не требуется. AI Prompt Engineering на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 3 из 3.

Сколько времени занимает урок «Пользовательские инструменты и плагины для LLM»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке AI Prompt Engineering?

Да. Каждый урок AI Prompt Engineering включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Вызов функций и интеграция API
  2. Многоагентные системы промптинга
  3. Пользовательские инструменты и плагины для LLM
← Назад к AI Prompt Engineering