フロントエンド // 記事

Chrome Rewriter APIでできること

Chrome Built-in AIのRewriter APIで文章を書き換えるときの基本と、試験提供中のAPIとして確認すべき注意点です。

Rewriter APIは、既存の文章をもとに、長さ、文体、形式を調整するためのChrome Built-in AI APIです。新しい文章をゼロから作るというより、すでにある文章を読みやすくしたり、短くしたり、少し長くしたりする用途に向いています。

指定できる主なオプション

  • length: shorter、as-is、longer
  • tone: more-formal、as-is、more-casual
  • format: as-is、markdown、plain-text
  • sharedContext: 複数の書き換えに共通する前提

これらの値はRewriterオブジェクトを作成するときに指定します。後から同じオブジェクトの設定を変えるのではなく、設定を変えたい場合は新しく作成する前提で考えます。

文字数ぴったりはアプリ側で補助する

Rewriter APIにはshorterやlongerの指定がありますが、「120文字ぴったり」のような厳密な文字数保証をするAPIではありません。文字数を実務で扱う場合は、出力後にアプリ側で文字数を数え、必要なら再度短くする、長くする、という調整を組み合わせる必要があります。

実装の基本

if ('Rewriter' in self) {
  const availability = await Rewriter.availability();

  if (availability !== 'unavailable') {
    const rewriter = await Rewriter.create({
      format: 'plain-text',
      length: 'shorter',
      tone: 'as-is'
    });

    const result = await rewriter.rewrite(inputText, {
      context: '意味と固有名詞を保って短くしてください。'
    });

    rewriter.destroy();
  }
}

実際のUIでは、availability()の結果、初回モデルダウンロード、downloadprogress、処理中表示、失敗時の表示を組み合わせて扱います。対応ブラウザであっても、モデルの準備には時間がかかる場合があります。

言語指定も考える

Rewriter APIでは、expectedInputLanguages、expectedContextLanguages、outputLanguageを指定できます。日本語の文章を日本語として処理したい場合は、言語を指定しておくと、対応していない組み合わせをブラウザ側で拒否しやすくなります。

現時点での注意

  • Rewriter APIはStable前の試験提供APIとして扱う
  • Origin Trialの登録受付や対象Chromeバージョンを確認する
  • Chromeのバージョンやトライアル条件で挙動が変わる可能性がある
  • 初回はモデルダウンロードが必要になる場合がある
  • 生成結果は意味や固有名詞が変わっていないか確認する
  • 厳密な文字数や表記ルールはアプリ側で検査する

Rewriter APIは、フォーム入力、レビュー、メタディスクリプション案、短い説明文など、既存テキストを整えるUIと相性が良いAPIです。一方で、現時点では提供状況に左右されるため、公開プロダクトの中心機能として扱う場合は慎重に判断する必要があります。

参考情報