AI Edge 関数呼び出しガイド

AI Edge Function Calling SDK(FC SDK)は、デベロッパーがオンデバイス LLM で関数呼び出しを使用できるようにするライブラリです。関数呼び出しを使用すると、モデルを外部ツールや API に接続し、モデルが現実世界のアクションを実行するために必要なパラメータを使用して特定の関数を呼び出せるようにできます。

FC SDK を使用する LLM は、テキストを生成するだけでなく、最新情報の検索、アラームの設定、予約などのアクションを実行する関数への構造化呼び出しを生成できます。

AI Edge FC SDK は Android で利用可能で、LLM 推論 API を使用して完全にデバイス上で実行できます。SDK の使用を開始するには、Android ガイドをご覧ください。このガイドでは、関数呼び出しを使用したサンプル アプリケーションの基本的な実装について説明します。

関数呼び出しパイプライン

関数呼び出し機能を備えたデバイス上の LLM を設定するには、次の主な手順が必要です。

  1. 関数宣言を定義する: LLM が呼び出せる関数の構造とパラメータは、アプリケーション コードで定義する必要があります。これには、関数名、パラメータ、型の指定が含まれます。
  2. プロンプトと出力をフォーマットする: 入力テキストと出力テキストには、自然言語と関数呼び出しを含めることができます。フォーマッタは、データ構造を文字列との間で変換する方法を制御し、LLM が情報を適切にフォーマットできるようにします。
  3. 出力を解析する: 生成されたレスポンスに関数呼び出しが含まれているかどうかを検出し、アプリケーションが関数呼び出しを実行できるように構造化データ型に解析します。
  4. レスポンスを調べる: パーサーが関数呼び出しを検出すると、アプリケーションは適切なパラメータと構造化データ型を使用して関数を呼び出します。それ以外の場合は、自然言語テキストを返します。

主要コンポーネント

FC SDK には、次の主要コンポーネントが含まれています。

  • 推論バックエンド: 生成 AI モデルで推論を実行するためのインターフェース。FC SDK は LLM Inference API を使用して、LiteRT(TFLite)モデルで推論を実行します。この API は InferenceBackend インターフェースを使用します。
  • プロンプト フォーマッタ: 生成 AI モデルとの間でのリクエストとレスポンスをフォーマットするためのインターフェース。FC SDK には、関数宣言を LLM に必要なモデル固有の形式に変換し、システム プロンプトに挿入するフォーマッタが用意されています。また、フォーマッタはモデル固有のトークンを処理して、ユーザーとモデルのターンを示します。この API は ModelFormatter インターフェースを使用します。
  • 出力パーサー: FC SDK には、モデルの出力が関数呼び出しを表すかどうかを検出し、アプリケーションで使用できるようにデータ構造に解析するパーサーが用意されています。この API は ModelFormatter インターフェースを使用します。
  • 制約付きデコード: 生成された出力が特定のルールまたは条件に準拠するように、制約を作成して管理するためのインターフェース。サポートされているモデルの場合、FC SDK は制約付きデコードを使用するように推論バックエンドを構成します。これにより、モデルは有効な関数名とパラメータのみを出力します。この API は ConstraintProvider インターフェースを使用します。