ai.google.dev/gemini-api/docs/function-calling, по состоянию на июнь 2026 года).
Отличия формата по сравнению с OpenAI
Одна распространенная ошибка:
function_call.args Gemini — это структурированный объект, а не строка JSON — json.loads не нужен.
Полный цикл вызова
Режимы вызова
Параллельные и многошаговые вызовы
- Параллельно: один ход может вернуть несколько частей
function_call(например, сразу два города); выполните каждую и верните все частиfunction_responseвместе - Многошагово: модель может выстраивать цепочку «вызов → проверка результата → повторный вызов»; повторяйте цикл, пока в ответе не останется больше
function_call. Ограничьте цикл, чтобы избежать неконтролируемых расходов
Рекомендации по лучшим практикам
- Описания пишутся для модели: четко указывайте «когда вызывать меня»; ограничивайте параметры с помощью
enumвместо свободных строк - Поддерживайте стабильность определений инструментов: они участвуют в сопоставлении префиксов кэша — изменения вредят попаданиям в кэш
- Нужен детерминированный JSON-вывод вместо внешнего инструмента? Рассмотрите
response_schemastructured output вместо FC (см. таблицу параметров Встроенные вызовы) - Для вычислений в изолированной среде используйте встроенный инструмент code_execution вместо того, чтобы писать собственную функцию калькулятора
Распространенные ошибки
Связанные ссылки
- Эта группа: Native Calls · Multimodal & Code Execution · Cache Billing
- Соответствие в OpenAI: OpenAI Function Calling
- Официальная документация Google:
ai.google.dev/gemini-api/docs/function-calling