AI Agents · Lekcja

Wywoływanie funkcji w modelach otwartych (Hermes, Functionary)

Większość bazowych modeli open source słabo obsługuje wywoływanie narzędzi — Hermes i Functionary zostały do tego dostrojone.

Lekcja 3 z 415 kroki

Wywoływanie funkcji w modelach otwartych (Hermes, Functionary) to bezpłatna lekcja AI Agents na CoddyKit. To lekcja 3 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej AI Agents, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs AI Agents zawiera 4 lekcji w sumie.

Modele bazowe nie wywołują niezawodnie narzędzi

Modele bazowe Llama, Mistral lub Qwen można skłonić promptem do „return JSON like {...}”, ale często generują niepoprawne dane wyjściowe, pomijają argumenty lub halucynują narzędzia.

Dostrajanie modeli do wywoływania funkcji rozwiązuje ten problem.

Rodzina Hermes

Modele Hermes firmy NousResearch to dostrojenia do wywoływania funkcji najwyższej klasy:

  • Hermes 3 Llama 3.1 8B / 70B
  • Wysoka dokładność wywołań narzędzi
  • Permisywna licencja w stylu Apache

Functionary

Modele Functionary firmy MeetKai są specjalnie trenowane do wywoływania funkcji zgodnego z OpenAI:

  • Functionary v3 (bazujący na Llama 3.1)
  • Obsługa równoległych wywołań narzędzi
  • Dostępne w HuggingFace i Together AI

Natywne użycie narzędzi w Llama 3.1+

Nowsze warianty instruct modeli Llama 3.1, Llama 3.3 i Llama 4 mają wbudowaną obsługę wywoływania narzędzi. W przypadku wielu zadań są wystarczające; w trudnych przypadkach należy użyć Hermes / Functionary.

Użycie narzędzi w Qwen 2.5

Qwen 2.5 oferuje silną natywną obsługę wywoływania narzędzi i konkuruje z modelami zamkniętymi. Często jest domyślnym wyborem dla samodzielnie hostowanych agentów wielojęzycznych.

Wywoływanie narzędzi w otwartych modelach

Dowolny serwer zgodny z OpenAI (Ollama, vLLM, Together AI) akceptuje ten sam parametr tools:

from openai import OpenAI
client = OpenAI(base_url='http://localhost:11434/v1', api_key='ollama')

tools = [{'type': 'function', 'function': {
    'name': 'get_weather',
    'description': 'Current weather',
    'parameters': {'type': 'object', 'properties': {'city': {'type': 'string'}}, 'required': ['city']}
}}]

response = client.chat.completions.create(
    model='hermes3:8b',
    messages=[{'role': 'user', 'content': 'Weather in Paris?'}],
    tools=tools
)

Starannie weryfikować wyniki

Wywołania narzędzi w otwartych modelach zawodzą częściej niż w modelach zamkniętych. Zawsze należy:

  • parsować JSON w try/except
  • weryfikować dane za pomocą Pydantic
  • dodawać pętlę naprawczą

Wymuszanie wywołań narzędzi za pomocą Outlines

Aby zagwarantować ustrukturyzowane dane wyjściowe w otwartych modelach, należy użyć Outlines do dekodowania ograniczonego gramatyką:

import outlines
model = outlines.models.transformers('meta-llama/Llama-3.1-8B-Instruct')
generator = outlines.generate.json(model, ToolCall)
result = generator(prompt)

Użycie narzędzi w Hugging Face TGI

TGI obsługuje używanie narzędzi w wielu otwartych modelach w stylu OpenAI — jest bezpośrednim zamiennikiem.

Benchmarkowanie jakości użycia narzędzi

Użycie narzędzi jest oceniane za pomocą:

  • Berkeley Function Calling Leaderboard (BFCL) — miarodajny ranking
  • ToolBench — szerszy zakres
  • API-Bank — scenariusze obejmujące wiele narzędzi

Rozsądny domyślny stos

Na takim połączeniu najczęściej kończą zespoły:

  • Llama 3.1 8B Instruct do ogólnych zadań agentowych
  • Qwen 2.5 Coder dla agentów programistycznych
  • Hermes 3 dla agentów intensywnie korzystających z narzędzi
  • Outlines lub Instructor do zagwarantowania ustrukturyzowanych danych wyjściowych

Uruchamianie za pośrednictwem dostawcy hostingu

Bez własnej infrastruktury: Together AI, Fireworks i Anyscale hostują Hermes, Functionary, Llama oraz Qwen za pomocą API zgodnych z OpenAI. Przy podobnej jakości jest to tańsze niż OpenAI.

Przykład porównania kosztów

Przybliżony koszt za milion tokenów (połowa 2025 r.):

  • GPT-4o: 2,50 USD za wejście, 10 USD za wyjście
  • Llama 3.1 70B (Together AI): 0,88 USD za wejście, 0,88 USD za wyjście
  • Samodzielnie hostowany Llama 8B: 0 USD (tylko koszt energii elektrycznej)

Dlaczego używać dostrojeń do wywoływania funkcji?

Dlaczego do wywoływania narzędzi należy używać Hermes lub Functionary zamiast bazowego modelu Llama?

Podsumowanie

Nowsze modele Llama / Qwen oferują przyzwoitą natywną obsługę narzędzi. Aby uzyskać większą niezawodność, należy użyć Hermes lub Functionary. Gwarancję struktury zapewniają dodatki Outlines/Instructor.

Bezpłatny start

Ucz się AI Agents dzięki korepetycjom AI — za darmo

Pisz i uruchamiaj kod w przeglądarce, otrzymuj natychmiastową pomoc od korepetytora AI dostępnego 24/7 i kontynuuj naukę w sieci lub w aplikacji.

Kursy
60
Lekcje
239

Często zadawane pytania

Czy lekcja „Wywoływanie funkcji w modelach otwartych (Hermes, Functionary)” jest bezpłatna?

Tak — pełny tekst „Wywoływanie funkcji w modelach otwartych (Hermes, Functionary)” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu AI Agents, przejdź na CoddyKit PRO. Kurs AI Agents zawiera 4 lekcji w sumie.

Co nauczysz się w „Wywoływanie funkcji w modelach otwartych (Hermes, Functionary)”?

Większość bazowych modeli open source słabo obsługuje wywoływanie narzędzi — Hermes i Functionary zostały do tego dostrojone. Ćwiczysz AI Agents z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć AI Agents?

Nie wymagamy żadnego doświadczenia. AI Agents w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 3 z 4.

Ile czasu zajmuje lekcja „Wywoływanie funkcji w modelach otwartych (Hermes, Functionary)”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji AI Agents?

Tak. Każda lekcja AI Agents zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Przegląd modeli Llama, Mistral i Qwen
  2. Uruchamianie modeli lokalnych za pomocą Ollama i llama.cpp
  3. Wywoływanie funkcji w modelach otwartych (Hermes, Functionary)
  4. Kompromisy: opóźnienie, koszt, możliwości
← Powrót do AI Agents