AI Edge Function Calling SDK(FC SDK)は、デベロッパーがデバイス上の LLM で関数呼び出しを使用できるようにするライブラリです。関数呼び出しを使用すると、モデルを外部ツールや API に接続できます。これにより、モデルは必要なパラメータを使用して特定の関数を呼び出し、現実世界のアクションを実行できます。
FC SDK を使用する LLM は、テキストを生成するだけでなく、最新情報の検索、アラームの設定、予約などのアクションを実行する関数への構造化された呼び出しを生成できます。
AI Edge FC SDK は Android で利用でき、LLM 推論 API を使用して完全にオンデバイスで実行できます。Android ガイドに沿って SDK の使用を開始します。このガイドでは、関数呼び出しを使用したサンプル アプリケーションの基本的な実装について説明します。
関数呼び出しパイプライン
関数呼び出し機能を備えたオンデバイス LLM を設定するには、次の主な手順が必要です。
- 関数宣言を定義する: LLM が呼び出すことができる関数の構造とパラメータをアプリケーション コードで定義する必要があります。これには、関数名、パラメータ、型の指定が含まれます。
- プロンプトと出力の形式: 入力テキストと出力テキストには、自然言語と関数呼び出しを含めることができます。フォーマッタは、データ構造と文字列間の変換方法を制御し、LLM が情報を適切にフォーマットできるようにします。
- 出力を解析する: パーサーは、生成されたレスポンスに関数呼び出しが含まれているかどうかを検出し、構造化されたデータ型に解析して、アプリケーションが関数呼び出しを実行できるようにします。
- レスポンスを調べる: パーサーが関数呼び出しを検出すると、アプリケーションは適切なパラメータと構造化データ型を使用して関数を呼び出します。それ以外の場合は、自然言語テキストを返します。
主要コンポーネント
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 インターフェースを使用します。