0Pricing
AI Agents · Урок

Вызов функций в открытых моделях (Hermes, Functionary)

Большинство базовых моделей с открытыми весами плохо вызывают инструменты — Hermes и Functionary специально дообучены для этого.

«Вызов функций в открытых моделях (Hermes, Functionary)» — бесплатный урок AI Agents на CoddyKit. Это урок 3 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения AI Agents, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс AI Agents содержит 4 уроков всего.

Базовые модели не могут надёжно вызывать инструменты

Обычные базовые модели Llama, Mistral или Qwen можно попросить «вернуть JSON вроде {...}», но они часто создают некорректный вывод, пропускают аргументы или выдумывают инструменты.

Дообучение для вызова функций решает эту проблему.

Семейство Hermes

Модели Hermes от NousResearch — одни из лучших моделей, дообученных для вызова функций:

  • Hermes 3 Llama 3.1 8B / 70B
  • Высокая точность вызова инструментов
  • Разрешительная лицензия в стиле Apache

Functionary

Модели Functionary от MeetKai специально обучены для вызова функций, совместимого с OpenAI:

  • Functionary v3 на основе Llama 3.1
  • Поддержка параллельных вызовов инструментов
  • Доступны на HuggingFace и Together AI

Встроенное использование инструментов в Llama 3.1 и более новых версиях

Недавние варианты Llama 3.1, Llama 3.3 и Llama 4 Instruct имеют встроенные возможности вызова инструментов. Для многих задач этого достаточно; для сложных случаев используйте Hermes или Functionary.

Использование инструментов в Qwen 2.5

Qwen 2.5 обладает сильной встроенной поддержкой вызова инструментов и конкурирует с закрытыми моделями. Часто это вариант по умолчанию для многоязычных агентов с самостоятельным размещением.

Вызов инструментов в открытых моделях с такой поддержкой

Любой сервер, совместимый с OpenAI (Ollama, vLLM, Together AI), принимает один и тот же параметр 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
)

Тщательно проверяйте вывод

Вызовы инструментов в открытых моделях завершаются ошибкой чаще, чем в закрытых. Всегда:

  • Разбирайте JSON в конструкции try/except
  • Проверяйте с помощью Pydantic
  • Добавляйте цикл исправления

Принудительный вызов инструментов с помощью Outlines

Для гарантированного структурированного вывода в открытых моделях используйте Outlines для декодирования с ограничениями грамматики:

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

Использование инструментов Hugging Face TGI

TGI поддерживает использование инструментов в стиле OpenAI для многих открытых моделей и служит прямой заменой.

Тестирование качества использования инструментов

Вызов инструментов оценивают с помощью следующих тестов:

  • Berkeley Function Calling Leaderboard (BFCL) — эталонный рейтинг
  • ToolBench — более широкий охват
  • API-Bank — сценарии с несколькими инструментами

Разумный набор инструментов по умолчанию

Сочетание, на котором останавливается большинство команд:

  • Llama 3.1 8B Instruct — для общих задач агентов
  • Qwen 2.5 Coder — для агентов, работающих с кодом
  • Hermes 3 — для агентов, активно использующих инструменты
  • Outlines или Instructor — для гарантированно структурированного вывода

Запуск через размещённого провайдера

Без собственной инфраструктуры: Together AI, Fireworks и Anyscale размещают Hermes, Functionary, Llama и Qwen с совместимыми с OpenAI API. Это дешевле, чем OpenAI, при сопоставимом качестве.

Пример сравнения стоимости

Примерная стоимость миллиона токенов (середина 2025 года):

  • GPT-4o: $2.50 за вход, $10 за выход
  • Llama 3.1 70B (Together AI): $0.88 за вход, $0.88 за выход
  • Llama 8B на собственной инфраструктуре: $0 — только ваше электричество

Зачем использовать дообученные модели для вызова функций

Зачем использовать Hermes или Functionary вместо базовой Llama для вызова инструментов?

Итоги

Недавние версии Llama и Qwen неплохо умеют использовать инструменты без дополнительной настройки. Для большей надёжности используйте Hermes или Functionary. Объединяйте их с Outlines или Instructor для гарантированно структурированного вывода.

Часто задаваемые вопросы

Урок «Вызов функций в открытых моделях (Hermes, Functionary)» бесплатный?

Да — полный текст урока «Вызов функций в открытых моделях (Hermes, Functionary)» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс AI Agents, подпишись на CoddyKit PRO. Курс AI Agents содержит 4 уроков всего.

Чему я научусь в уроке «Вызов функций в открытых моделях (Hermes, Functionary)»?

Большинство базовых моделей с открытыми весами плохо вызывают инструменты — Hermes и Functionary специально дообучены для этого. Ты практикуешь AI Agents с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать AI Agents?

Предыдущий опыт не требуется. AI Agents на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 3 из 4.

Сколько времени занимает урок «Вызов функций в открытых моделях (Hermes, Functionary)»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке AI Agents?

Да. Каждый урок AI Agents включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Обзор Llama, Mistral и Qwen
  2. Запуск локальных моделей с Ollama и llama.cpp
  3. Вызов функций в открытых моделях (Hermes, Functionary)
  4. Компромиссы: задержка, стоимость, возможности
← Назад к AI Agents