Ollama ツールサポートのリリース
Ollama は、ツール呼び出し(tool calling)をサポートしました。これにより、互換性のあるモデルが関数を実行したり、API にアクセスしたり、コードインタープリターを使用したりすることで、外部の世界とやり取りできるようになります。このアップデートにより、ローカルモデルは静的なテキスト生成を超えて、複雑で現実的なタスクを実行できるようになります。
ツール呼び出しの実装
Ollama は、Ollama API の tools フィールドを介して、ユーザーが利用可能なツールのリストを提供できるようにすることで、ツール呼び出しを実装しています。モデルがプロンプトに回答するためにツールが必要であると判断した場合、標準的なテキストの返答の代わりに tool_calls レスポンスを返します。
ループを完了するために、ツールの出力は tool ロールが割り当てられたメッセージを使用してモデルに送り返されます。このメカニズムにより、モデルは外部データを処理し、ユーザーに最終的な、根拠に基づいた回答を提供できます。
サポートされているモデル
ツール呼び出しは、Ollama を通じて利用可能なモデルの特定のサブセットによってサポートされています。ユーザーは ollama pull <model> を実行して、最新バージョンであることを確認することをお勧めします。サポートされているモデルには以下が含まれます:
- Llama 3.1
- Mistral Nemo
- Firefunction v2
- Command-R +
OpenAI API との互換性
Ollama の OpenAI 互換エンドポイントは、現在ツールをサポートしています。これにより、開発者は、base_url をローカルの Ollama インスタンス(例:http://localhost:11434/v1)に更新するだけで、既存の OpenAI ベースのツール呼び出し実装を Llama 3.1 のようなローカルモデルに切り替えることができます。
今後のロードマップ
Ollama は、ツールサポートの将来的な改善に向けて、主に 2 つの領域を特定しています:
- Streaming Tool Calls: この機能により、システムがツール呼び出しをアプリケーションにストリーミングで返せるようになり、複数のツールが要求された場合にアクションをより早く開始できるようになります。
- Tool Choice: この機能により、開発者は、モデルの内部的な意思決定プロセスに関わらず、特定のツールを使用するようにモデルに強制することができます。
Sources
- OriginalTool support
関連
- プロジェクト
- Dispatch
- Dispatch
- Dispatch
- Dispatch