データ投入でサポートされているファイル形式
知識データ投入でサポートされているファイル形式
このドキュメントは、InfiniCloud AIのファイル取り込み機能が現在サポートしているファイル形式を、実装に基づいてまとめたものです。
取り込みフロー概要
- 「知識の投入」からファイルをアップロード
- 拡張子を判定し、UnstructuredLoaderを使ってパースしてText化。その後HTMLに変換
- 得られた HTMLをローカルキャッシュエリアに保存し、MHASを用いてノイズ及び重複除去。知識データベースに反映
- 知識データベースのレコードは「知識の編集」メニューで参照・削除などの管理ができ、知識ドメイン単位のJSONLエクスポートも可能
サポート済みファイル形式
| カテゴリ | 拡張子 | 処理方法 |
|---|---|---|
| HTML | .html, .htm | そのまま UTF-8 としてキャッシュ |
| HTMLアーカイブ | .zip (内部がHTML) | ZIPを解凍し、各HTMLをキャッシュ(その他の拡張子はスキップ) |
| プレーンテキスト | .txt | テキストを <p> ラップして HTML 化 |
| Markdown | .md | unstructured[md] → HTMLスニペット化 |
| CSV | .csv | unstructured[csv] → セル抽出 |
| Excel | .xlsx | unstructured[xlsx] |
| Word | .docx, rtf | unstructured[docx] |
| PowerPoint | .pptx | unstructured[pptx] |
| unstructured[pdf] (ページ毎読み込み、画像型のPDFも可能) | ||
| 画像 | .jpg, .png, .gif, .bmp, .tiff, jp2 | unstructured[image] で OCRをしつつ、VLMでデータ解析(独自アルゴリズム) |
| 音声 | .mp3, .m4a, .qta | whisperによるtrascript |
| ZIP | .zip | zipを展開し、それぞれの形式で変換 |
その他のunstructured対応形式(例: .epub, .odt, .org, .rst, .tsv など)は現在は未対応。同じパイプラインで処理は可能なので将来要望により拡張可能。
実装から見る特殊処理
- ZIP
- .htmlだけを抽出し、キャッシュディレクトリに保存します。
- HTML/HTM
- バイト列を UTF-8 で解釈し、キャッシュディレクトリに保存します。
- その他
- 一旦テンポラリに保存し、読み込み、doc.metadata["text_as_html"] があれば利用、無ければ、単純な<p> で囲んで HTML を生成。
- PDF
- PDFは1ページ毎をパースし、画像タイプの場合はOCR+VLMを利用する。
タスクログに記載されるトラブルシューティング
| 症状 | 対処 |
|---|---|
| partition_xxx() が見つからない | サーバーインストール上の問題。必要なライブラリがない。 |
| 文字化け | UTF-8 以外のエンコードは自動判定しないため、事前に UTF-8 に変換してからアップロード |
| OCR が遅い | 画像/スキャン PDF を分割し、小さなファイルでアップロード |