0Pricing
AI Agents · レッスン

オープンモデルでFunction Callingを行う(Hermes、Functionary)

多くのベースオープンモデルはツール呼び出しが得意ではありません。HermesとFunctionaryはそのためにファインチューニングされています。

「オープンモデルでFunction Callingを行う(Hermes、Functionary)」はCoddyKit上の無料AI Agentsレッスンです。 これはレッスン3/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはAI Agents学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 AI Agentsコースには全4レッスンが含まれています。

ベースモデルではツール呼び出しの信頼性が低い

素の Llama、Mistral、Qwen のベースモデルに「{...}のような JSON を返して」とプロンプトで指示することはできます。しかし、形式が壊れた出力を生成したり、引数を取り違えたり、存在しないツールを生成したりすることがよくあります。

Function-calling のファインチューニングによって、これらの問題を解決できます。

Hermes ファミリー

NousResearch の Hermes モデルは、最高クラスの function-calling ファインチューニングモデルです。

  • Hermes 3 Llama 3.1 8B / 70B
  • 高いツール呼び出し精度
  • Apache 形式の寛容なライセンス

Functionary

MeetKai の Functionary モデルは、OpenAI 互換の function calling 用に明示的にトレーニングされています。

  • 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
)

出力を慎重に検証する

オープンモデルのツール呼び出しは、クローズドモデルよりも頻繁に失敗します。必ず次の処理を行ってください。

  • try/except で JSON を解析する
  • 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 が OpenAI 互換 API で Hermes、Functionary、Llama、Qwen をホストしています。同程度の品質であれば、OpenAI より安価です。

コスト比較の例

100万トークンあたりのおおよそのコスト(2025年半ば)。

  • GPT-4o:入力 $2.50、出力 $10
  • Llama 3.1 70B(Together AI):入力 $0.88、出力 $0.88
  • セルフホストの Llama 8B:$0(電気料金は別途必要です)

なぜ Function-Calling のファインチューニングモデルを使うのか

ツール呼び出しにベースの Llama ではなく、なぜ Hermes や Functionary を使うのでしょうか。

まとめ

最近の Llama / Qwen は、ネイティブのツール使用に十分対応できます。より高い信頼性が必要な場合は、Hermes または Functionary を使ってください。Outlines/Instructor と組み合わせることで、構造を保証できます。

よくある質問

「オープンモデルでFunction Callingを行う(Hermes、Functionary)」レッスンは無料ですか?

はい。「オープンモデルでFunction Callingを行う(Hermes、Functionary)」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、AI Agentsコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 AI Agentsコースには全4レッスンが含まれています。

「オープンモデルでFunction Callingを行う(Hermes、Functionary)」で何を学びますか?

多くのベースオープンモデルはツール呼び出しが得意ではありません。HermesとFunctionaryはそのためにファインチューニングされています。 ブラウザで直接実行するハンズオンコードでAI Agentsを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

AI Agentsを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのAI Agentsは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン3/4です。

「オープンモデルでFunction Callingを行う(Hermes、Functionary)」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このAI Agentsレッスンでコードを書いて実行できますか?

はい。すべてのAI Agentsレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. Llama、Mistral、Qwenの概要
  2. Ollamaとllama.cppでローカルモデルを実行する
  3. オープンモデルでFunction Callingを行う(Hermes、Functionary)
  4. トレードオフ:レイテンシ、コスト、性能
← AI Agentsに戻る