Cohere、AWS金融調査アシスタントの仕組みを公開
- •Cohereが、提出書類の質問にページ単位の出典を添えて答えるAWS金融調査アシスタントを説明
- •Embed Proでページを索引化し、Embed Fastで質問を処理、1,024次元のint8ベクトルで生データ容量を8分の1に削減
- •Rerankと選択的なParseを組み合わせ、調整可能な処理段階や関連度スコア、検索可能なページ画像を提供
CohereのAWS金融調査アシスタントは、提出書類を検索し、Amazon Bedrock上のAnthropic Claudeで回答を作成して、各主張を裏付けるページを引用します。デモでは検索にCohere Embed、検索結果の並べ替えにRerank、難しいページからテキストや表を抽出する処理にParseを組み合わせています。Amazon SageMaker AIとOpenSearch Serverless上で動作し、CloudFormationを使ってAWSアカウントにデプロイできます。
財務書類は、重要な数値が表、脚注、図表、スキャンページに分散しているため検索が難しくなります。PDFをプレーンテキストに変換すると、表の行や列が崩れたり、複数段組みの順序が入れ替わったり、図表が失われたりする場合があります。アシスタントは引用した根拠が表、図表、本文、脚注、図のどれにあるかを示し、ページ画像を開いて確認できるようにします。別の言語で書かれた文書について質問する機能もあります。Cohereによると、Embedは100以上の言語と128Kトークンのコンテキストウィンドウに対応し、Rerank Proも100以上の言語をサポートします。
設計では、ページは一度だけ索引化される一方、質問は繰り返し届くため、ページの索引化にEmbed Pro、質問の処理にEmbed Fastを使います。両モデルは共通の埋め込み空間を使うため、Proで索引化したページとFastで処理した質問を比較できます。システムは1,024次元のint8ベクトルを使い、1つあたりの生データ容量は1 KBです。2,048次元のfloat32ベクトルでは8 KBとなるため、容量を8分の1にできます。記事の試算では、100万ページ分の生ベクトルデータは約1 GBで、比較対象の方式では8 GBです。Embedは256〜2,048次元の6種類の出力サイズを用意し、float、int8、バイナリ形式を選べます。バイナリベクトルはfloat32の32分の1のサイズです。質問と索引には同じサイズと形式を使う必要があり、後から変更する場合は全ページを再度ベクトル化します。
質問時には、ベクトル検索で候補ページを30件取得し、Rerankが5件をClaudeに渡します。Rerank Proは質問とページを合わせて最大32Kトークンまで読み取れます。Context Focusは質問に関係する箇所を特定し、ページ画像から得られる文脈を保ちながら、Claudeに送るテキスト量を減らせます。Rerank 5は各ページについて、0から1までの調整済み関連度スコアも返します。並べ替えには時間がかかり、エンドポイントも必要なため、デモでは実行を任意にし、検索結果の並列表示や各段階の処理時間を通じて効果を確認できるようにしています。
Parseは取り込み時に選択して使います。テキストが非常に少ないページや、テキストの大半が表にあるページを処理し、それ以外のページは既存のテキストを保持します。抽出結果は保存されるため、索引を再構築する場合も各ページを一度処理すれば済みます。記事は、デジタル形式の年次報告書や10-Kではページのテキストをベクトル化し、回答時にClaudeがページ画像を確認する方法を勧めています。スキャン、スライド、図解、図表が中心のアーカイブには、画像をベクトル化する方法、または画像とテキストを組み合わせる方法を提案しています。ウェブアプリには、質問用のAssistant、検索結果の比較用のSearch、表の抽出用のParseもそれぞれ用意されています。