4 ポイント 投稿者 finnchoi 2024-07-19 | まだコメントはありません。 | WhatsAppで共有

問題点

  • セマンティック/自然言語検索、RAG のためにはベクトル埋め込みが必要
  • ほとんどの埋め込みモデルには入力長の制限がある
    • 適切な入力長に合わせることが検索品質に直結する
    • 入力長の制限により、たいていは段落を分割して保存することになる
  • 原文を分割して保存するため、1つの文書が複数の文書に分かれてしまう
    • ほとんどの文書は、メタデータや長文の別フィールドなどを含み、単一のテキストデータだけで構成されているわけではない
    • 分割されたデータを保存するには、分割した原文と付加情報を重複保存するか、コレクション(またはテーブル)を分けて保存しなければならない
      • 重複保存は保存容量の増加による非効率を招き、分離されたコレクションは検索過程での結合、スコア計算、文書数の計算などの複雑さを増大させる
    • このような方式は、ほとんどのベクトルストアを使う中で頻繁に直面する問題である

解決

  • 原文を分割保存しない別の方法を探した
  • 埋め込みデータが保存されるフィールドについて、2次元データを入力できるように DB と関連ライブラリを修正した
    • これにより、原文を分割せずに、1つ以上に分割された文書ごとの可変長ベクトルデータを保存できるようになった
    • この方法なら、原文と分離されたベクトルデータがコレクションの分割なしに共存でき、データ管理やクエリが簡潔になる

まだコメントはありません。

まだコメントはありません。