作成手順
ナレッジベースの作成とドキュメントのアップロードは、以下のステップに分かれています:
- ナレッジベースを作成します。ローカルファイルのアップロード、オンラインデータのインポート、または空のナレッジベースを作成することができます。
コンテンツデータのインポート
ローカルファイルのアップロード、オンラインデータのインポート、または空のナレッジベースの作成について。
- チャンキングモードを指定します。この段階では、コンテンツの前処理とデータ構造化を行い、長いテキストが複数のセグメントに分割されます。ここでは、テキストの分割効果をプレビューすることができます。
テキストのチャンキングとクリーニング
テキスト分割とデータクリーニングのプロセスについて学ぶ
- インデックス方法と検索設定を設定します。ナレッジベースはユーザーからのクエリを受け取ると、事前設定された検索方法に従って既存のドキュメント内で関連コンテンツを検索し、言語モデルが高品質の回答を生成するために関連性の高い情報を抽出します。
インデックス方法の設定
インデックス方法と検索パラメータの設定方法について学ぶ
- チャンクのエンベディング処理が完了するまで待ちます。
- アップロードが完了したら、アプリケーション内でナレッジベースを関連付けて使用します。アプリケーション内でのナレッジベースの統合を参照して、ナレッジベースに基づいて質問応答ができるLLMアプリケーションを構築できます。ナレッジベースの修正や管理が必要な場合は、ナレッジベース管理とドキュメントメンテナンスを参照してください。
参考資料
ETL
RAGの本番環境での応用では、より良いデータ検索結果を得るために、複数のソースからのデータに対して前処理とクリーニングを行う必要があります。これがETL(extract, transform, load)です。非構造化/半構造化データの前処理能力を強化するため、DifyではDify ETLとUnstructured ETLの2つのETLソリューションをサポートしています。Unstructuredは、後続のステップのためにデータを効率的に抽出し、クリーンなデータに変換します。Difyの各バージョンにおけるETLソリューションの選択:
- SaaSバージョンでは選択できず、デフォルトでUnstructured ETLを使用します;
- コミュニティバージョンでは選択可能で、デフォルトではDify ETLを使用し、環境変数を通じてUnstructured ETLを有効にできます;
ファイル解析でサポートされる形式の違い:
DIFY ETL | Unstructured ETL |
---|---|
txt、markdown、md、pdf、html、htm、xlsx、xls、docx、csv | txt、markdown、md、pdf、html、htm、xlsx、xls、docx、csv、eml、msg、pptx、ppt、xml、epub |
異なるETLソリューションはファイル抽出効果においても違いがあります。Unstructured ETLのデータ処理方法についてさらに詳しく知りたい場合は、公式ドキュメントを参照してください。
エンベディング
エンベディングは、離散変数(単語、短文、または文書全体など)を連続的なベクトル表現に変換する技術です。これにより、高次元データ(単語、フレーズ、画像など)を低次元空間にマッピングし、コンパクトで効果的な表現方法を提供します。このような表現は、データの次元を削減するだけでなく、重要な意味情報も保持するため、後続のコンテンツ検索がより効率的になります。
エンベディングモデルは、テキストをベクトル化することに特化した大規模言語モデルで、テキストを密な数値ベクトルに変換し、意味情報を効果的に捉えることができます。
メタデータ
メタデータ機能を使用してナレッジベースを管理する場合は、メタデータを参照してください。