このトピックでは、AICallKit SDK を使用して検査用のフレームキャプチャを実行する方法について説明します。
始める前に
次の例は、API を使用してフレームをキャプチャする方法を示しています。
事前に AICallKit SDK を統合する必要があります。詳細については、「Android 用 AICallKit SDK の統合」、「iOS 用 AICallKit SDK の統合」、および「Web 用 AICallKit SDK の統合」をご参照ください。
AICallKit SDK V2.1.0 以降では、フレームキャプチャがサポートされています。
機能の説明
視覚理解エージェントとの通話中に、フレームキャプチャ API を呼び出して、検査用の画像をキャプチャします。 AICallKit SDK は、ユーザーのカメラから画像を自動的にキャプチャし、大規模言語モデル(LLM)にプッシュして分析および処理するための 2 つのモードを提供します。この機能は、産業検査や AI グラス アプリケーションなどのシナリオに適しています。
仕組み
AICallKit SDK を使用してフレームキャプチャを実装するには、startVisionCustomCapture を呼び出します。 AICallKit SDK は、検査要件を満たすために 2 つのモードを提供します。
ワンタイム フレームキャプチャ:イベントが発生したときにトリガーされます。たとえば、ユーザーが [ボタン] をクリックすると、カメラからの画像が LLM にプッシュされて処理されます。
パラメーター
タイプ
説明
isSingle
ブール値
フレームキャプチャモード。
true:ワンタイム フレームキャプチャ
false(デフォルト):定期的なフレームキャプチャ
text
String
マルチモーダル大規模モデルをリクエストする際のテキスト パラメーター。
eachDuration
Int
フレームキャプチャ期間。単位:秒。
num
Int
キャプチャする画像の数。
userData
String
カスタム ビジネス情報。テキストおよびフレームと共に LLM に渡されて処理されます。
例:フレームキャプチャ期間が 1 秒、キャプチャする画像の数が 2 に設定されている場合、システムは通話の開始時にタイミングを開始し、その 1 秒以内のビデオデータを処理します。この期間中、均一分布の原則に従って 2 つのフレームを正確にキャプチャし、LLM に送信して検出と分析を行います。
定期的なフレームキャプチャ:指定された時間範囲内で、システムはユーザーのカメラからの画像を一定の間隔で LLM に送り、処理します。
パラメーター
タイプ
説明
isSingle
ブール値
フレームキャプチャモード。
true:ワンタイム フレームキャプチャ
false(デフォルト):定期的なフレームキャプチャ
text
String
マルチモーダル大規模モデルをリクエストする際のテキスト パラメーター。
duration
Int
フレームキャプチャ期間。単位:秒。
eachDuration
Int
フレームキャプチャ間隔。単位:秒。
num
Int
毎回キャプチャする画像の数。
userData
String
カスタム ビジネス情報。テキストおよびフレームと共に LLM に渡されて処理されます。
enableASR
ブール値
ASR によって認識された人間の音声を LLM に入力として送信するかどうかを指定します。
true
false(デフォルト)
説明このパラメーターは、AICallKit SDK V2.2.0 以降でのみ使用できます。
例:フレームキャプチャ期間が 100 秒、フレームキャプチャ間隔が 2 秒、毎回キャプチャする画像の数が 2 に設定されている場合、システムは API が呼び出されてから 100 秒の間に 2 秒ごとに自動的に画像をキャプチャします。各サイクルで、システムは均等に 2 つのフレームをキャプチャし、LLM に送信して検出と分析を行います。このプロセス中、フレームキャプチャモードと userData は変更されずに、データの整合性が確保されます。
説明前提条件
サンプルコード
Android
// Call startVisionCustomCapture after the call is initiated.
// Start custom frame capture in the onCallBegin callback.
// For frame capture parameters, see the description about ARTCAICallVisionCustomCaptureRequest.
public void onCallBegin() {
// Request parameters, including the text parameter, frame capture mode, frame capture interval, number of images to capture each time, frame capture duration, and custom business information.
// リクエスト パラメーター。テキスト パラメーター、フレームキャプチャモード、フレームキャプチャ間隔、毎回キャプチャする画像の数、フレームキャプチャ期間、カスタム ビジネス情報が含まれます。
mARTCAICallEngine.startVisionCustomCapture(new ARTCAICallEngine.ARTCAICallVisionCustomCaptureRequest("XXX", false, 5, 2, 100, ""))
}
// End frame capture if needed.
// 必要に応じてフレームキャプチャを終了します。
mARTCAICallEngine.stopVisionCustomCapture()
iOS
// Call startVisionCustomCapture after the call is initiated.
// Start custom frame capture in the onCallBegin callback.
// For frame capture parameters, see the description about ARTCAICallVisionCustomCaptureRequest.
// 通話が開始された後に startVisionCustomCapture を呼び出します。
// onCallBegin コールバックでカスタム フレームキャプチャを開始します。
// フレームキャプチャ パラメーターについては、ARTCAICallVisionCustomCaptureRequest の説明を参照してください。
public func onCallBegin() {
// The call starts.
// 通話が開始されます。
let req = ARTCAICallVisionCustomCaptureRequest()
req.isSingle = false
req.text = "xxx"
req.userData = "{}"
req.duration = 100
req.eachDuration = 5
req.num = 2
_ = self.engine.startVisionCustomCapture(req: req)
}
// End frame capture if needed.
// 必要に応じてフレームキャプチャを終了します。
_ = self.engine.stopVisionCustomCapture()
Web
// Call startVisionCustomCapture after the call is initiated.
// For frame capture parameters, see the description about AICallVisionCustomCaptureRequest.
// 通話が開始された後に startVisionCustomCapture を呼び出します。
// フレームキャプチャ パラメーターについては、AICallVisionCustomCaptureRequest の説明を参照してください。
engine.startVisionCustomCapture({
isSingle: false,
text: 'xxx',
userData: '{}',
duration: 100,
eachDuration: 5,
num: 2,
});
// End frame capture if needed.
// 必要に応じてフレームキャプチャを終了します。
engine.stopVisionCustomCapture();