Function Calling
Даём LLM способности
Проблема: ИИ умеет говорить, но не умеет делать что-то в реальном мире. Он может рассказать формулу прогноза погоды, но не может проверить реальную погоду в твоём городе.
Решение: Научить ИИ пользоваться инструментами
Вызов функций -- это как научить ИИ пользоваться телефоном. Вместо того чтобы просто разговаривать, он теперь может "звонить" в разные сервисы. ИИ переводит запрос в структурированный вывод, указывая, какой инструмент вызвать -- именно это лежит в основе паттерна ReAct.
Представьте это как официанта в ресторане:
- 1. : Ты говоришь: "Хочу пиццу маргариту"
- 2. : Официант понимает и записывает: order_pizza(type="margherita")
- 3. : Кухня (инструмент) получает заказ и готовит пиццу
- 4. : Официант приносит тебе результат
ИИ "переводит" твою речь в структурированный вызов функции!
Где это используется?
- Умные ассистенты: "Поставь будильник на 7 утра"
set_alarm(time="07:00") - Служба поддержки: "Отмени заказ #12345"
cancel_order(id=12345) - Аналитика данных: "Покажи продажи за Q4"
get_sales(quarter=4) - Умный дом: "Выключи свет"
control_lights(action="off")
Интересный факт: Вызов функций изменил всё! Раньше чат-боты могли только болтать. Теперь они могут делать дела — бронировать билеты, отправлять письма, управлять умным домом. Это то, что делает ИИ по-настоящему полезным помощником.
Попробуйте сами!
Используй интерактивное демо ниже, чтобы увидеть, как ИИ превращает твой запрос в вызов функции. Понаблюдай за магией перевода в реальном времени!
🤖 Сам по себе AI умеет только генерировать текст. Но если дать ему описание инструментов (функций), он может решить когда их вызвать и с какими параметрами.
Выбери инструмент выше, чтобы увидеть пример
Function Calling — это как дать AI номер телефона сервиса. AI не делает работу сам, а "звонит" нужной функции и использует её ответ. Это позволяет подключать AI к базам данных, API, файловым системам — к чему угодно!
You are an assistant with access to tools.
When the user asks for something that requires a tool:
1. Identify which tool is needed
2. Call it with correct parameters
3. Use the result to answer
Available tools are provided in the tools parameter.Этот промпт объясняет модели, что у неё есть доступ к инструментам и как их использовать.
{
"name": "get_weather",
"description": "Get current weather in a city",
"parameters": {
"type": "object",
"properties": {
"city": {
"type": "string",
"description": "City name"
},
"units": {
"type": "string",
"enum": ["celsius", "fahrenheit"]
}
},
"required": ["city"]
}
}JSON Schema описывает параметры функции: какие поля обязательны, какие типы данных принимаются.
- •Используйте чёткие описания: AI должна понимать, когда применять каждый инструмент
- •Указывайте обязательные параметры через "required" в JSON Schema
- •Добавляйте примеры значений в description для лучшего понимания
- •Тестируйте промпты: проверьте, что AI правильно выбирает и вызывает функции
Попробуй сам
Интерактивное демо этой техники
Какая сейчас погода в Париже?
В Париже обычно мягкий климат. Сейчас, вероятно, около 18°C и облачно.
Вызываю инструмент для получения актуальных данных:
→ get_weather("Paris") ← { "temp": 12, "condition": "rain", "humidity": 85, "wind": "15 km/h" }
Сейчас в Париже 12°C, дождь, влажность 85%, ветер 15 км/ч. Рекомендую взять зонт!
Без инструментов модель вынуждена "угадывать" погоду, используя общие знания. Function Calling позволяет получить точные данные в реальном времени.
Создайте бесплатный аккаунт для решения челленджей
3 челленджей с AI-проверкой для этого урока
Этот урок — часть структурированного курса по LLM.
Мой путь обучения