Ollama Python Library 0.4 リリースノート

Ollama Python library 0.4 では、開発者が Python 関数を LLM 用のツールとして直接提供できるようになり、JSON スキーマを手動で定義する必要がなくなりました。このアップデートにより、数学的演算や API リクエストなどの外部機能をモデルのワークフローに統合することが容易になります。

Python 関数のツールとしての直接統合

開発者は、ollama.chat メソッドの tools フィールドに実際の Python 関数の参照を渡すことができるようになりました。これにより、モデルはユーザーのプロンプトに基づいて特定の関数の実行を要求できます。

実装ワークフロー

関数をツールとして統合するプロセスは、以下の 3 ステップで行われます。

  1. 関数定義: 標準的な Python 関数を定義します。モデルのパフォーマンスを最適化するために、開発者はパラメータと戻り値の型をアノテーションし、Google スタイルの docstring を含めてモデルに必要なコンテキストを提供する必要があります。
  2. ツールを渡す: ollama.chat を呼び出す際に、tools リストに関数の参照を含めます。
  3. 実行: response.message.tool_calls を反復処理して、要求された関数を特定し、モデルから提供された引数を使用してそれを実行します。

外部ライブラリのサポート

この機能は、既存の Python ライブラリや SDK にも拡張可能です。例えば、requests ライブラリの request 関数をツールとして渡すことができ、モデルが外部のウェブコンテンツを取得するために HTTP リクエストをトリガーすることが可能になります。

自動 JSON スキーマ生成

Ollama Python library 0.4 は、モデルが必要とするツールの定義の作成を自動化します。以前は、これらの JSON スキーマを手動で提供する必要がありました。

このライブラリは現在、Pydanticdocstring parsing を利用して、Python 関数のシグネチャとドキュメントから JSON スマスキーマを自動的に生成します。このプロセスでは、関数名、説明、およびパラメータの型(例:Python の int を JSON の integer にマッピング)を抽出し、LLM 用の有効なツール定義を作成します。

追加のライブラリの機能強化

関数呼び出しの改善に加えて、0.4 リリースでは以下のアップデートが導入されます。

  • 完全な型サポート: ライブラリは現在、包括的な型サポートを備えており、既存の機能との後方互換性を維持しながら、オブジェクトへの直接アクセスを可能にします。
  • 更新された例: 新しい実装例や更新された例は、公式の Ollama Python GitHub リポジトリで利用可能です。

Sources

関連

  • Dispatch
  • Dispatch
  • プロジェクト
  • Dispatch
  • Dispatch