知識の投入
Top / サポート情報 / マニュアル / InfiniCloud AI / チューターガイド / 知識の投入 / データ投入でサポートされているファイル形式

データ投入でサポートされているファイル形式

知識データ投入でサポートされているファイル形式

このドキュメントは、InfiniCloud AIのファイル取り込み機能が現在サポートしているファイル形式を、実装に基づいてまとめたものです。

取り込みフロー概要

  1. 「知識の投入」からファイルをアップロード
  2. 拡張子を判定し、UnstructuredLoaderを使ってパースしてText化。その後HTMLに変換
  3. 得られた HTMLをローカルキャッシュエリアに保存し、MHASを用いてノイズ及び重複除去。知識データベースに反映
  4. 知識データベースのレコードは「知識の編集」メニューで参照・削除などの管理ができ、知識ドメイン単位のJSONLエクスポートも可能

サポート済みファイル形式

カテゴリ拡張子処理方法依存 / 備考
HTML`.html`, `.htm`そのまま UTF-8 としてキャッシュ直接`import_files`で保存
HTMLアーカイブ`.zip` (内部がHTML)ZIPを解凍し、各HTMLをキャッシュ(その他の拡張子はスキップ)`zipfile`
プレーンテキスト`.txt`テキストを `<p>` ラップして HTML 化基本パッケージ
Markdown`.md``unstructured[md]` → HTMLスニペット化`requirements.txt` に含まれる
CSV`.csv``unstructured[csv]` → セル抽出同上
Excel`.xlsx``unstructured[xlsx]`同上
Word`.docx`, `.doc``unstructured[docx,doc]`同上
PowerPoint`.pptx`, `.ppt``unstructured[pptx]`同上
PDF`.pdf``unstructured[pdf]`(PyMuPDF + OCR)同上
画像`.jpg`, `.png`, `.gif`, `.bmp`, `.tiff``unstructured[image]` で OCR同上
RTF`.rtf``unstructured[rtf]`同上
JSONL(内部管理)`.jsonl``JSONLWebManager` によるCRUD/エクスポートのみファイルアップロードではなく DB 管理

その他のunstructured対応形式(例: `.epub`, `.odt`, `.org`, `.rst`, `.tsv` など)は現在は未対応。同じパイプラインで処理は可能なので将来要望により拡張可能。

実装から見る特殊処理

  • ZIP
    • .html`だけを抽出し、キャッシュディレクトリに保存します。
  • HTML/HTM
    • バイト列を UTF-8 で解釈し、キャッシュディレクトリに保存します。
  • その他
    • 一旦テンポラリに保存し、読み込み、`doc.metadata["text_as_html"]` があれば利用、無ければ、単純な`<p>` で囲んで HTML を生成。
  • JSONL
    • ファイルとして取り込むのではなく、`jsonl_records` テーブルでレコード管理し、UI から CRUD/エクスポートする。

タスクログに記載されるトラブルシューティング

症状対処
`partition_xxx()` が見つからないサーバインストール上の問題。必要なライブラリがない。
文字化けUTF-8 以外のエンコードは自動判定しないため、事前に UTF-8 に変換してからアップロード
OCR が遅い画像/スキャン PDF を分割し、小さなファイルでアップロード
ZIP に HTML 以外が混在現状は HTML のみ抽出。その他は ZIP 外に取り出して個別にアップロードする