RAGにおいて、データの処理方法は非常に重要です。従来のRAGでは、データ処理の最初のステップは切り分けです。つまり、1つのデータをどのように小さな部分に分割するかということです。分割が適切でないと、文章が途中で切れてしまい、データを呼び出す際に意味が通じなくなり、AIが誤解をしてしまう可能性があります。
302.AIの更新ログを例に取ると、以下が切り分けが必要な元のテキストです:
2024.9.5
【万能ツールボックス】現在、APIマーケットでデバッグする際に手動でAPIキーを入力する必要がなくなり、システムが自動的に入力します
【ツ-ル市場】AI文書エディターが超長文の一括生成とインターフェース内AIチャットの機能をサポートしました
【チャットボット】pplx-8b-online、pplx-70b-online、pplx-405b-onlineをサポートしました。Perplexityから提供され、有用で最新かつ正確な回答を提供することに特化しています
【API市場】pplx-8b-online、pplx-70b-online、pplx-405b-onlineをサポートしました。Perplexityから提供されています
【API市場】DeepLが任意の言語への翻訳インターフェースを追加しました
【ヘルプセンター】Lobe-Chat、没入型翻訳など、いくつかの一般的なツール統合チュートリアルを更新しました
2024.9.3
【管理バックエンド】万能ツールボックスとボットが現在、アカウント残高の表示をサポートしています。高度なオプションで設定でき、デフォルトではオフになっています
【API市場】ビデオ生成にMinimaxのテキストからビデオ生成を追加しました
【API市場】画像生成に芸術的なQRコード生成を追加しました。302.AIから提供されています
【描画ロボット】Midjourneyの価格が元の50%に下がりました
現在の問題
切り分け問題1:文章の途中で切断
切り分け時に文字数だけを考慮し、100文字ごとに切ると、文章の途中で切断される可能性が非常に高くなります。例えば:
2024.9.5
【万能ツールボックス】現在、APIマーケットでデバッグする際に手動でAPIキーを入力する必要がなくなり、システムが自動的に入力します
【ツ-ル市場】AI文書エディターが超長文の一括生成とインターフェース内AIチャットの機能をサポートしました
【チャットボット】pplx-8b-online、pplx-70b-online、pplx-405b-onlineをサポートしました。Perplexityから提供され、有用で最新かつ正確な回答を提供することに特化しています
【API市場】pplx-8b-online、pplx-70b-online、pplx-405b-onlineをサポートしました。Perplexityから提供されています
【API市場】DeepLが任意
の言語への翻訳インターフェースを追加しました
【ヘルプセンター】Lobe-Chat、没入型翻訳など、いくつかの一般的なツール統合チュートリアルを更新しました
2024.9.3
【管理バックエンド】万能ツールボックスとボットが現在、アカウント残高の表示をサポートしています。高度なオプションで設定でき、デフォルトではオフになっています
【API市場】ビデオ生成にMinimaxのテキストからビデオ生成を追加しました
【API市場】画像生成に芸術的なQRコード生成を追加しました。302
.AIから提供されています
【描画ロボット】Midjourneyの価格が元の50%に下がりました
この場合、テキストが途中で切断されていることがわかります。
切り分け問題2:段落の中断
文章の中断は実際には非常に基本的な問題で、句読点などを使って文章が完全かどうかを判断してから切り分けることで簡単に解決できます。段落の切り分けはもう少し複雑です。先ほどの例で、文章の完全性を考慮すると、おそらく2つに分割されるでしょう:
2024.9.5
【万能ツールボックス】現在、APIマーケットでデバッグする際に手動でAPIキーを入力する必要がなくなり、システムが自動的に入力します
【ツ-ル市場】AI文書エディターが超長文の一括生成とインターフェース内AIチャットの機能をサポートしました
【チャットボット】pplx-8b-online、pplx-70b-online、pplx-405b-onlineをサポートしました。Perplexityから提供され、有用で最新かつ正確な回答を提供することに特化しています
【API市場】pplx-8b-online、pplx-70b-online、pplx-405b-onlineをサポートしました。Perplexityから提供されています
【API市場】DeepLが任意の言語への翻訳インターフェースを追加しました
【ヘルプセンター】Lobe-Chat、没入型翻訳など、いくつかの一般的なツール統合チュートリアルを更新しました
2024.9.3
【管理バックエンド】万能ツールボックスとボットが現在、アカウント残高の表示をサポートしています。高度なオプションで設定でき、デフォルトではオフになっています
【API市場】ビデオ生成にMinimaxのテキストからビデオ生成を追加しました
【API市場】画像生成に芸術的なQRコード生成を追加しました。302.AIから提供されています
【描画ロボット】Midjourneyの価格が元の50%に下がりました
一見問題がないように見えますが、ユーザーが次のような質問をした場合:
9月5日の更新は何ですか?
この場合、最初の部分だけが検索され、2番目の部分には9月5日に関連する情報がないため、2番目の部分にある「【ヘルプセンター】いくつかの一般的なツール統合...」の内容が見落とされてしまいます。
解決策
解決策1:隣接するテキストの重複を設定する
302.AIでは、ナレッジベースの高度な設定をクリックすると、この設定が表示されます:
この設定の意味は、各切り分け部分の間に一定の重複部分があるということです。例えば:
2024.9.5
【万能ツールボックス】現在、APIマーケットでデバッグする際に手動でAPIキーを入力する必要がなくなり、システムが自動的に入力します
【ツ-ル市場】AI文書エディターが超長文の一括生成とインターフェース内AIチャットの機能をサポートしました
【チャットボット】pplx-8b-online、pplx-70b-online、pplx-405b-onlineをサポートしました。Perplexityから提供され、有用で最新かつ正確な回答を提供することに特化しています
【API市場】pplx-8b-online、pplx-70b-online、pplx-405b-onlineをサポートしました。Perplexityから提供されています
【API市場】DeepLが任意の言語への翻訳インターフェースを追加しました
【ヘルプセンター】Lobe-Chat、没入型翻訳など、いくつかの一般的なツール統合チュートリアルを更新しました
2024.9.3
【API市場】pplx-8b-online、pplx-70b-online、pplx-405b-onlineをサポートしました。Perplexityから提供されています
【API市場】DeepLが任意の言語への翻訳インターフェースを追加しました
【ヘルプセンター】Lobe-Chat、没入型翻訳など、いくつかの一般的なツール統合チュートリアルを更新しました
2024.9.3
【管理バックエンド】万能ツールボックスとボットが現在、アカウント残高の表示をサポートしています。高度なオプションで設定でき、デフォルトではオフになっています
【API市場】ビデオ生成にMinimaxのテキストからビデオ生成を追加しました
【API市場】画像生成に芸術的なQRコード生成を追加しました。302.AIから提供されています
【描画ロボット】Midjourneyの価格が元の50%に下がりました
このうち、以下の部分が2つの断片に出現しています。
【API市場】pplx-8b-online、pplx-70b-online、pplx-405b-onlineをサポートしました。Perplexityから提供されています
【API市場】DeepLが任意の言語への翻訳インターフェースを追加しました
【ヘルプセンター】Lobe-Chat、没入型翻訳など、いくつかの一般的なツール統合チュートリアルを更新しました
2024.9.3
ユーザーが次のように質問した場合:
統合チュートリアルはいつ更新されましたか?
「統合チュートリアル」というキーワードが2つの断片に出現するため、両方の断片が同時に呼び出され、AIに渡されます。AIはこれらの情報を基に、具体的な日付を正確に判断することができます。
解決策2:切り分けの長さを増やす
「力ずくで奇跡を起こす」という言葉がありますが、RAGも例外ではありません。実際、RAGは大規模モデルの負担を軽減し、処理するコンテキストを減らすためのものです。しかし、現在のモデルがますます強力になり、中には2M(Gemini-1.5-pro)もの長いコンテキストを持つモデルもあるため、切り分けの部分では細かく切る必要はなく、できるだけ多くの内容を大規模モデルに与え、AIに処理させることができます。
302.AIでは、ナレッジベースの高度な設定をクリックすると、この設定が表示されます:
AIの回答が望む内容を見つけられない場合、このパラメータを調整することができます。500、1000、2000など様々な値を試すことができます。上記の例では、切り分けると1つの断片しか残りません。これにより、AIは情報を見逃すことがなくなります:
2024.9.5
【万能ツールボックス】現在、APIマーケットでデバッグする際に手動でAPIキーを入力する必要がなくなり、システムが自動的に入力します
【ツ-ル市場】AI文書エディターが超長文の一括生成とインターフェース内AIチャットの機能をサポートしました
【チャットボット】pplx-8b-online、pplx-70b-online、pplx-405b-onlineをサポートしました。Perplexityから提供され、有用で最新かつ正確な回答を提供することに特化しています
【API市場】pplx-8b-online、pplx-70b-online、pplx-405b-onlineをサポートしました。Perplexityから提供されています
【API市場】DeepLが任意の言語への翻訳インターフェースを追加しました
【ヘルプセンター】Lobe-Chat、没入型翻訳など、いくつかの一般的なツール統合チュートリアルを更新しました
2024.9.3
【管理バックエンド】万能ツールボックスとボットが現在、アカウント残高の表示をサポートしています。高度なオプションで設定でき、デフォルトではオフになっています
【API市場】ビデオ生成にMinimaxのテキストからビデオ生成を追加しました
【API市場】画像生成に芸術的なQRコード生成を追加しました。302.AIから提供されています
【描画ロボット】Midjourneyの価格が元の50%に下がりました
ただし、この長さが長くなればなるほど、AIが処理するコンテキストが多くなり、費用も増加することに注意してください。そのため、最適な実践ポイントを見つけるには、自分で少しずつテストしていく必要があります。
解決策3:粗い切り分け + 細かい切り分け
時には、切り分けが粗すぎると、モデルへの要求が高くなり、賢くないモデルは重要なポイントを見つけられない可能性があります。この場合、1つのファイルを2回切り分ける方法を使用できます。粗く1回、細かく1回切り分けます。これにより、モデルが呼び出す際に、2つの粒度のテキストを同時に呼び出すことができ、重要なポイントが強調されたページのようになります。
細かい切り分けでは、より科学的に段落などを識別できる意味ベースの切り分け方法をお勧めします。これはJina.aiから提供されています。
302.AIでは、ナレッジベースの高度な設定をクリックすると、この設定が表示されます:
まとめ
ここでは、比較的簡単なデータ処理方法をいくつか紹介しただけですが、実際の環境では、データ自体の質も非常に重要です。データ自体が曖昧で段落が乱れている場合、単にスライシングを最適化するだけでは解決できません。したがって、最終的には自分のデータを使用して、さまざまな方法を試し、自分に最適なものを見つける必要があります。