11 подписчиков
Решил завести рубрику, где текстом зафиксируем, а возможно и дополним видео, которые вам не понравились (мало просмотров), но несмотря на это считаю, что там разбираются важные/интересные темы
Начнем с Function Calling, тему которую я уже поднимал вскользь здесь
Зачем
Когда мы говорим про LLM, то такие модели могут отвечать на основе данных, на которых они были обучены. Но наверняка мы захотим сделать так, чтобы они могли получать актуальную информацию: сходить в Google, получить данные из документа, или запросить свежую информацию из API. Это и реализуется с помощью Function Calling
Как
Предположим, мы хотим узнать актуальную погоду. Прямо в промпте можно прописать инструкцию для LLM:"Если тебе нужно узнать текущую погоду, то вызови функцию ОПРЕДЕЛЕННЫЙ_ФОРМАТ, которая принимает город как строковый параметр. В ответ ты получишь число — текущее количество градусов по Цельсию."
Далее это выглядит примерно так:
1) Пользователь пишет запрос, например: "Какая погода в Москве?"
2) Бэкенд отправляет запрос в LLM
3) LLM понимает, что ей нужно воспользоваться внешней функцией для получения актуальной информации
4) Модель возвращает название функции (например, get_weather) и аргументы (город: Москва) на бэк
5) Бэкенд выполняет запрос к внешнему API, получает данные и передает результат в LLM
6) LLM формирует ответ на основе этих данных и возвращает его пользователю
Все популярные библиотеки для работы с LLM, такие как LangChain или LlamaIndex, уже поддерживают Function Calling. А вот так может выглядеть описание вашей функции:
{
"name": "get_weather",
"description": "Получить текущую погоду по названию города",
"parameters": {
"type": "object",
"properties": {
"city": {
"type": "string",
"description": "Название города"
}
},
"required": ["city"]
}
}
Где применять
Юзкейсов на самом деле очень много. Вот несколько примеров, которые я уже реализовал:
В приложении для ответов на вопросы по охране труда, если LLM не знает информации по регламентирующим документам, она отправляет ключевые слова на бэк
Бэкенд делает поиск в справочной системе, находит документы по ключевым словам, обогащает данными нашу векторную базу, и возвращает краткую информацию о документе, которую модель использует для ответа
Важно понимать, что такие кейсы с текущими "стандартными реализациями" занимают достаточно времени - десятки секунд, это важно учитывать в пользовательском опыте приложения
Посмотреть пример можно в видео
#непопулярные_видео
2 минуты
7 сентября 2024