見出し画像

Cohere Compass - 新マルチアスペクト埋め込みモデル

以下の記事が面白かったので、簡単にまとめました。

Cohere Compass Private Beta: A New Multi-Aspect Embedding Model


1. Cohere Compass

Cohere Compass」は、マルチアスペクトデータのインデックス作成と検索を可能にする新しい埋め込みモデルです。

「マルチアスペクトデータ」は、複数の概念と関係を含むデータです。これは企業データ内では一般的です。電子メール、請求書、履歴書、サポートチケット、ログメッセージ、表形式データにはすべて、コンテキスト上の関係を持つ実質的なコンテンツが含まれています。企業データには多くの概念が含まれている可能性があり、概念間の関係を理解する必要があるため、このデータの取得は継続的な課題です。

これに対処するには、開発者は、クエリからドキュメント内の特定のメタデータフィールドに対する個別の側面を識別して照合するための分類レイヤーを作成する必要があります。これは構築してホストするのが非常に難しく、分類子のみが理解できる値に制限されます。

また、既存の埋め込みアプローチではこの問題に対処できません。「Cohere Embed v3」などの既存の最良の埋め込みモデルは、ドキュメントをセマンティックベクトル空間内の単一ベクトルに変換します。

これは、ドキュメントが単一属性に焦点を当てている場合にはうまく機能しますが、データ内にいくつかの側面や概念が存在すると、これらの埋め込みモデルは困難になり始めます。上の例では、青と黄色で利用できるジーンズには、緑と赤で利用できるTシャツと同様の埋め込みがあることがわかります。 これらの埋め込みは各色のペアの間に配置され、特定の色との意味的な結びつきが失われます。 現在、「赤いTシャツ」を検索すると、同様の T シャツ製品が返される可能性は低くなります。 実際、ここでの限られた例では、「赤いTシャツ」の上位の結果は「青と黄色のジーンズ」になります。

「Cohere Compass」は、マルチアスペクト データに対処するように設計されています。「Compass」を使用すると、データをJSONドキュメントとしてCompass 埋め込みモデルに渡すことができ、これによりデータが特別な形式に変換され、その表現がベクトルデータベースに保存されます。埋め込み出力は任意のベクトルデータベースに保存できます。

2. Compass SDK でマルチアスペクトデータをJSONに変換

従来のRAGパイプラインでは、PDFが添付された電子メールに個別にインデックスを作成していました。PDFをテキストに変換し、そのテキストを段落レベルまたはページレベルでチャンク化し、ベクトル データベース内でチャンクに個別にインデックスを付けます。

このアプローチの課題は、PDFが電子メールで送信され、特定の時間に特定の人によって送信されたというコンテキスト情報が失われることです。電子メールの件名または本文の一部として追加のコンテキストが含まれる可能性があります。

「Cohere Compass」では、「Compass SDK」がこれらすべての詳細を支援します。データをJSONに変換してから埋め込み出力に変換するには、次の2段階のプロセスがあります。

(1) 「Compass SDK」は、電子メールとすべての添付ファイルを単一のJSONに解析します。
(2) JSONはCompass埋め込みモデルに渡され、その結果、任意のベクトル データベースに保存できる埋め込み出力が生成されます。

メタデータとテキストは、マルチアスペクトデータに存在する概念間の関係をキャプチャするマルチアスペクト表現とともに保存されます。

この設定を使用すると、ユーザーはすべての埋め込み情報を検索し、「ピーターから受け取った請求書の期日はいつですか?」などのクエリを実行できます。 RAGシステムで処理できるようになりました。

3. GitHub検索の例

以下は、バグ、機能リクエスト、プルリクエスト、調査、質問を含むGitHubのIssueを検索する例です。クエリは「最初の cohere embeddings PR」で、時間の側面 (最初)、意味論的な主題 (cohere embeddings)、そしてタイプ (PR -> Pull Request) が含まれます。

右側では、高密度埋め込みモデルが「最初の Cohere embeddings PR」のリクエストを満たしていないことがわかります。最初の検索結果では、PRタイプは正しいものの、件名と時間が間違っています。2番目の検索結果では、件名は正しく取得されますが、時刻や種類は取得されません。そして3番目の結果は、間違った件名、間違ったタイプ、間違った時刻を返します。

左側の「Compass」は、検索クエリ内の複数の側面 (時間、件名、タイプ) を正しく解きほぐし、右側のプルリクエストを返すことができました。

4. おわりに

「Compass」は現在プライベートベータです。初期のテストに参加したい場合は、こちらからベータ版にサインアップできます。


この記事が気に入ったらサポートをしてみませんか?