Ollama Python Library 0.4 リリースノート
Ollama Python library 0.4 では、開発者が Python 関数を LLM 用のツールとして直接提供できるようになり、JSON スキーマを手動で定義する必要がなくなりました。このアップデートにより、数学的演算や API リクエストなどの外部機能をモデルのワークフローに統合することが容易になります。
Python 関数のツールとしての直接統合
開発者は、ollama.chat メソッドの tools フィールドに実際の Python 関数の参照を渡すことができるようになりました。これにより、モデルはユーザーのプロンプトに基づいて特定の関数の実行を要求できます。
実装ワークフロー
関数をツールとして統合するプロセスは、以下の 3 ステップで行われます。
- 関数定義: 標準的な Python 関数を定義します。モデルのパフォーマンスを最適化するために、開発者はパラメータと戻り値の型をアノテーションし、Google スタイルの docstring を含めてモデルに必要なコンテキストを提供する必要があります。
- ツールを渡す:
ollama.chatを呼び出す際に、toolsリストに関数の参照を含めます。 - 実行:
response.message.tool_callsを反復処理して、要求された関数を特定し、モデルから提供された引数を使用してそれを実行します。
外部ライブラリのサポート
この機能は、既存の Python ライブラリや SDK にも拡張可能です。例えば、requests ライブラリの request 関数をツールとして渡すことができ、モデルが外部のウェブコンテンツを取得するために HTTP リクエストをトリガーすることが可能になります。
自動 JSON スキーマ生成
Ollama Python library 0.4 は、モデルが必要とするツールの定義の作成を自動化します。以前は、これらの JSON スキーマを手動で提供する必要がありました。
このライブラリは現在、Pydantic と docstring parsing を利用して、Python 関数のシグネチャとドキュメントから JSON スマスキーマを自動的に生成します。このプロセスでは、関数名、説明、およびパラメータの型(例:Python の int を JSON の integer にマッピング)を抽出し、LLM 用の有効なツール定義を作成します。
追加のライブラリの機能強化
関数呼び出しの改善に加えて、0.4 リリースでは以下のアップデートが導入されます。
- 完全な型サポート: ライブラリは現在、包括的な型サポートを備えており、既存の機能との後方互換性を維持しながら、オブジェクトへの直接アクセスを可能にします。
- 更新された例: 新しい実装例や更新された例は、公式の Ollama Python GitHub リポジトリで利用可能です。
Sources
関連
- Dispatch
- Dispatch
- プロジェクト
- Dispatch
- Dispatch