・可能ならデータを構造化する(生成AI / 予測AI / ルールベース) ・データのチャンクの長さを最適化する(文章単位?ページ単位?章単位?) ・メタ情報を入れる(ファイル名、ファイルパス、日付、など) ・PDFなどのデータの場合にはOCRで文字起こしするがこの文字起こしの精度もかなり重要 ・クエリ変換 ・クエリを適切な回答が得られるように変換する(Hyde) ・クエリに複数内容が含まれている場合はクエリを分割して結果を足し合わせる ・クエリによる分類 ・クエリから質問の難易度を想定して、処理を変更する(CRAG) 【検索時】 ・ベクトル検索以外の手法も含めて比較検討(キーワード検索・SQLなど) ・再帰的、階層的に検索 ・複数クエリに基づき検索して結果を足し合わせて再評価(Re-Ranking) ・検索結果が質問に対して適切か評価する(Self-RAG) 【検索後】 ・プロンプトチューニング ・複数結果がある場合は別手法でスコアづけして再評価(Re-Ranking) ・生成した回答が与えた文章と異なることを言っていないか評価(Self-RAG) ・生成した回答が、質問に対して有効か評価(Self-RAG) ・検索結果の評価指標を入れてPDCAを回す(RAGAS,ROUGE、BLEU、METEOR)