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.
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.
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
- Przegląd modeli Llama, Mistral i Qwen
- Uruchamianie modeli lokalnych za pomocą Ollama i llama.cpp
- Wywoływanie funkcji w modelach otwartych (Hermes, Functionary)
- Kompromisy: opóźnienie, koszt, możliwości