メインコンテンツまでスキップ

AI 要約

テキストから簡潔な要約を生成し、選択中のプロバイダーから届く逐次結果で UI を更新します。

前提条件

  • AIBudsAISDK が初期化済みで、登録済みのプロバイダーが選択されていること。
  • プロバイダーが AISummaryServiceAPI に対応していること。
  • 必要な場合に、プロバイダー認証とネットワーク接続を利用できること。
  • 入力テキストが空ではないこと。

AI を活用して実装

AI で実装

AI でこのワークフローを実装

公式の「AIBuds AI 要約の実装」スキルを使い、アプリに合わせて実装します。

https://docs-aibuds.github.io/ja/skills/implement-aibuds-ai-summary を読み、その指示に従ってください。このスキルで「AIBuds AI 要約の実装」をこの iOS プロジェクトに実装し、検証してください。
公式スキルを見る

API リファレンス

フレームワーク

AIBudsAI.xcframework

インポート

Swift
import AIBudsAI

宣言

Swift
/// Generates a concise summary for the provided text.
/// - Parameters:
///   - text: The text to summarize.
///   - streamResultHandler: Called repeatedly with the current summary.
///     - isFinal: `true` when the summary is complete; otherwise `false`.
///     - transcript: The current incremental summary text.
///     - error: The operation error, or `nil` when no error occurred.
public static func summary(withText text: String,
                     streamResultHandler: ((_ isFinal: Bool, _ transcript: String?, _ error: Error?) -> Void)? = nil)

/// Cancels the current summary operation before it completes.
public static func cancelSummary()

summarycancelSummary を参照してください。

使用例

Swift
let sourceText = """
    The AIBuds SDK connects supported devices to an iOS application and exposes
    device control, media, AI, voice assistant, and diagnostic capabilities.
    """

AIBudsAISDK.summary(withText: sourceText) { isFinal, transcript, error in
    DispatchQueue.main.async {
        if let error {
            summaryLabel.text = "Summary failed: \(error.localizedDescription)"
            return
        }

        if let transcript {
            summaryLabel.text = transcript
        }

        if isFinal {
            summaryActivityIndicator.stopAnimating()
        }
    }
}

結果が不要になった場合は、実行中の要求をキャンセルします。

Swift
AIBudsAISDK.cancelSummary()

注意事項

  • この API が要約するのはテキストのみです。ファイルパスは受け取らず、maxLength パラメータも公開していません。
  • プロバイダーは内容が逐次増える要約を返すため、各結果で前回の表示を置き換えられます。
  • 先に要約結果を受け取っていても、nil ではないエラーが返された場合は失敗として扱います。
  • cancelSummary() には完了コールバックがありません。キャンセルを要求した時点でアプリの状態を更新してください。