← 返回列表

Podsumowanie technologii Function Calling

Podsumowanie technologii Function Calling

1. Definicja

Function Calling to mechanizm, który pozwala programistom opisywać dostępne narzędzia zewnętrzne (np. API) dla dużego modelu językowego (LLM) za pomocą schematu JSON. Gdy model uzna, że potrzebuje narzędzia do odpowiedzi na pytanie użytkownika, generuje ustrukturyzowane dane JSON tool_calls, wskazujące nazwę funkcji i parametry. Program hosta analizuje i wykonuje to wywołanie, zwraca wynik do modelu, a model generuje ostateczną odpowiedź.

2. Główne zasady i rozwiązywane problemy

  • Istota: Pętla „dwóch rund konwersacji + pośredniego wykonania”. W pierwszej rundzie model podejmuje decyzję i generuje żądanie wywołania narzędzia; kod pośredni wykonuje narzędzie; w drugiej rundzie model generuje ostateczną odpowiedź na podstawie wyniku.
  • Rozwiązywane problemy: Eliminuje niestabilne i podatne na błędy parsowanie języka naturalnego (instrukcje if/else) przy wywoływaniu narzędzi, zwiększając standaryzację i dokładność dzięki ustrukturyzowanemu wyjściu.

3. Podział obowiązków (analogia do delegowania zadań)

  • Programista (HR): Definiuje narzędzia, tworzy schemat JSON opisujący funkcje narzędzia, parametry itp.
  • Model LLM (menedżer): Rozumie opis narzędzia, decyduje, czy je wywołać, które narzędzie i jakie parametry, a następnie generuje ustrukturyzowane żądanie wywołania (tool_calls). Model tylko podejmuje decyzje i generuje tekst, nie wykonuje kodu.
  • Wykonawca/kod hosta (pracownik): Parsuje żądanie tool_calls modelu, faktycznie wykonuje odpowiednią funkcję lub wywołanie API i zwraca wynik.

4. Definiowanie narzędzia (JSON Schema)

Schema to „instrukcja obsługi” narzędzia, zawierająca kluczowe informacje:
- name: Unikalny identyfikator narzędzia.
- description: Kluczowe – model w pełni polega na tym opisie, aby zdecydować, czy wywołać narzędzie. Im jaśniejszy i dokładniejszy opis, tym lepsza decyzja modelu.
- parameters: Definiuje wymagane parametry narzędzia oraz ich typy, opisy, ograniczenia (np. wartości wyliczeniowe, wymagalność).

5. Pełny proces wywołania

Artykuł, na przykładzie kodu do sprawdzania pogody, pokazuje cały proces: od pytania użytkownika, przez pierwsze wywołanie modelu z definicją narzędzia, zwrócenie tool_calls przez model, wykonanie funkcji przez kod, dodanie wyniku jako wiadomości z role: "tool" do historii konwersacji, aż do wygenerowania przez model ostatecznej odpowiedzi w języku naturalnym.

6. Zaawansowane funkcje – równoległe wywołania narzędzi

Gdy pytanie użytkownika wymaga współpracy wielu narzędzi (np. jednoczesne sprawdzenie pogody w kilku miastach), model może w jednej odpowiedzi wygenerować listę zawierającą wiele tool_calls. Kod hosta może wykonać te wywołania równolegle, a następnie zwrócić wszystkie wyniki modelowi do syntezy, co zwiększa wydajność.

评论

暂无已展示的评论。

发表评论(匿名)