Практическое применение новых функций API в OpenAI GPT
Продолжая тему с вчерашним обновлением OpenAI (https://t.me/rvnikita_blog/452)
Изучив подробнее стало понятно, что помимо увеличения количества токенов, а так же снижения стоимости основным значемым обновлением становится поддержка Function calling. Что же это такое и почему это важный шаг? Если коротко, то это в каком-то смысле поддержка плагинов, но внутри API.
Основное ограничение лингвистических моделей в том, что они обрабатывают и генерируют текст, но не могут выполнять действия. Различный программы с поддержкой агентов (кстати пост про агентов уже написан, но никак не опубликую его, так как нужно сокращать, получился огромным) аля AutoGPT и т.д., а так же библиотеки вроде LangChain пытаются это изменить, добавляя возможность выполнять кусочки кода, но сталкиваются с тем, что сгенерированный текст в неиспользуемом формате даже не смотря на просьбу “генерируй в формате JSON”.
Function calling это попытка перенести логику внутрь лингвистической модели.
Пример как это использовать:
На запрос пользователя “What's the weather like in Boston now?” мы должны сначала понять, что нужно будет использовать функцию получения погоды, дальше выделить из запроса в общем виде отдельно город (Boston) и дату (now, еще и понять, какое сегодня число) и потом все эти данные передать в погодное API. Технически можно это сделать через LangChain сделав серию вызовов, перепроверив, что необходимые данные получены, а дальше дернуть функцию, но опыт показывает, что в некоторых ситуация все равно произойдет ошибка обработки.
Function calling позволяет систематизировать такие задачи и получить на выходе правильно упакованный объект. Предполагаю, что ребята дообучили модель, чтобы она хорошо с этим справлялась.
Я думаю, что Function calling даст еще один больой толчок развития стартапов и проектов поверх OpenAI GPT.
Другие примеры использования:
- торговля акциями (принятие решение и выставления ставок)
- отправка писем (отправь Маше последний отчет)
- рекомендации (глянь новые фильмы и договорить с подругой сходить в кино)
и т.д.
P.S. Лично меня новый функционал подталкивает к развитию своего бота @rvnikita_public в более ассистентный режим (отправка писем, поиск информации в интернете, напоминание о событиях и т.д. и т.п. все, что можно делигировать удаленному ассистенту)