← 返回列表

Підсумок технології Function Calling

Підсумок технології Function Calling

1. Визначення

Function Calling — це механізм, який дозволяє розробникам описувати доступні зовнішні інструменти (наприклад, API) великій мовній моделі (LLM) за допомогою JSON-схеми. Коли модель вирішує, що для відповіді на запитання користувача потрібно викликати інструмент, вона виводить структуровані дані tool_calls у форматі JSON, вказуючи назву функції та параметри. Хост-програма аналізує та виконує цей виклик, повертає результат моделі, а модель генерує остаточну відповідь.

2. Основний принцип та вирішувані проблеми

  • Сутність: Замкнений цикл "два раунди діалогу + проміжне виконання". У першому раунді модель приймає рішення та виводить запит на виклик інструменту; проміжний код виконує інструмент; у другому раунді модель на основі результату виконання генерує остаточну відповідь.
  • Вирішувані проблеми: Вирішує проблему нестабільного та схильного до помилок аналізу природної мови (if/else), яка раніше використовувалася для виклику інструментів моделлю, забезпечуючи стандартизацію та підвищення точності завдяки структурованому виведенню.

3. Розподіл обов'язків (аналогія з делегуванням завдань)

  • Розробник (HR): Визначає інструменти, створює JSON-схему з описом функціональності, параметрів тощо.
  • Модель LLM (менеджер): Розуміє опис інструменту, приймає рішення про необхідність виклику, який саме інструмент викликати та з якими параметрами, і виводить структурований запит на виклик (tool_calls). Модель лише приймає рішення та генерує текст, але не виконує код.
  • Виконавець/хост-код (співробітник): Аналізує запит tool_calls моделі, фактично виконує відповідну функцію або виклик API та повертає результат.

4. Визначення інструменту (JSON-схема)

Схема — це "інструкція" для інструменту, ключова інформація включає:
- name: Унікальний ідентифікатор інструменту.
- description: Надзвичайно важливо, модель повністю покладається на цей опис, щоб вирішити, чи викликати інструмент. Чим чіткіший і точніший опис, тим точніше рішення моделі.
- parameters: Визначає необхідні параметри інструменту, їх типи, описи, обмеження (наприклад, значення переліку, обов'язковість тощо).

5. Повний процес виклику

Стаття на прикладі коду для запиту погоди демонструє весь процес: від запитання користувача, першого виклику моделі з визначенням інструменту, повернення моделлю tool_calls, виконання функції кодом, вставки результату в історію діалогу з role: "tool", до остаточного формування моделлю відповіді природною мовою.

6. Розширені можливості - паралельний виклик інструментів

Коли запитання користувача потребує спільної роботи кількох інструментів (наприклад, одночасний запит погоди в кількох містах), модель може в одній відповіді вивести список з кількох tool_calls. Хост-код може виконувати ці виклики паралельно, а потім повернути всі результати моделі для узагальнення, що підвищує ефективність.

评论

暂无已展示的评论。

发表评论(匿名)