SUPPORTED_FILE_TYPES.md 6.6 KB

サポートされているファイル形式

本システムは Apache Tika を使用してドキュメントを解析しており、数百種類のファイル形式をサポートしています。

📋 サポートファイル形式一覧

📄 PDF ドキュメント

  • application/pdf - PDF ドキュメント

📝 Microsoft Office ドキュメント

  • application/msword - Word ドキュメント (.doc)
  • application/vnd.openxmlformats-officedocument.wordprocessingml.document - Word ドキュメント (.docx)
  • application/vnd.ms-excel - Excel スプレッドシート (.xls)
  • application/vnd.openxmlformats-officedocument.spreadsheetml.sheet - Excel スプレッドシート (.xlsx)
  • application/vnd.ms-powerpoint - PowerPoint プレゼンテーション (.ppt)
  • application/vnd.openxmlformats-officedocument.presentationml.presentation - PowerPoint プレゼンテーション (.pptx)

📊 OpenOffice / LibreOffice ドキュメント

  • application/vnd.oasis.opendocument.text - テキストドキュメント (.odt)
  • application/vnd.oasis.opendocument.spreadsheet - スプレッドシート (.ods)
  • application/vnd.oasis.opendocument.presentation - プレゼンテーション (.odp)
  • application/vnd.oasis.opendocument.graphics - グラフィックドキュメント (.odg)

📝 テキストファイル

  • text/plain - プレーンテキスト (.txt)
  • text/markdown - Markdown (.md, .markdown)
  • text/html - HTML ドキュメント (.html, .htm)
  • text/csv - CSV 表形式 (.csv)
  • text/xml - XML ドキュメント (.xml)
  • application/xml - XML ドキュメント
  • application/json - JSON データ (.json)

💻 コードファイル

  • text/x-python - Python コード (.py)
  • text/x-java - Java コード (.java)
  • text/x-c - C コード (.c)
  • text/x-c++ - C++ コード (.cpp, .cc, .cxx)
  • text/javascript - JavaScript コード (.js)
  • text/typescript - TypeScript コード (.ts)

🖼️ 画像ファイル

  • image/jpeg - JPEG 画像 (.jpg, .jpeg)
  • image/png - PNG 画像 (.png)
  • image/gif - GIF 画像 (.gif)
  • image/webp - WebP 画像 (.webp)
  • image/tiff - TIFF 画像 (.tiff, .tif)
  • image/bmp - BMP 画像 (.bmp)
  • image/svg+xml - SVG ベクター画像 (.svg)

📦 圧縮ファイル

  • application/zip - ZIP 圧縮アーカイブ (.zip)
  • application/x-tar - TAR アーカイブ (.tar)
  • application/gzip - GZIP 圧縮 (.gz)
  • application/x-7z-compressed - 7z 圧縮アーカイブ (.7z)

📚 その他のドキュメント形式

  • application/rtf - RTF ドキュメント (.rtf)
  • application/epub+zip - EPUB 電子書籍 (.epub)
  • application/x-mobipocket-ebook - MOBI 電子書籍 (.mobi)

🔧 自動サポートルール

明示的なリスト以外にも、システムは以下のパターンを自動的にサポートします:

  1. すべてのテキストタイプ - text/ で始まるすべての MIME タイプ
  2. Office ドキュメント - application/vnd. で始まるすべてのタイプ
  3. その他の形式 - application/x- で始まるすべてのタイプ

これは、特定の形式がリストになくても、Tika が解析可能であればシステムで処理できることを意味します。

⚠️ 注意事項

画像処理

  • 画像ファイルから意味のある内容を抽出するには、ビジョンモデルの設定が必要です。
  • ビジョンモデルが設定されていない場合、システムはファイル名をコンテンツとして使用します。
  • 「システム設定」でビジョンをサポートする LLM(GPT-4V、Gemini など)を設定することをお勧めします。

大容量ファイルの処理

  • ファイルサイズ制限:デフォルト 100MB(.envMAX_FILE_SIZE で設定可能)
  • 大容量ファイルはバッチ処理され、メモリオーバーフローを防止します。
  • 推奨:最適なパフォーマンスを得るために、1ファイルあたり 50MB 以下にすることをお勧めします。

エンコーディングの問題

  • システムはファイルのエンコーディングを自動検出します。
  • UTF-8 エンコーディングのテキストファイルを推奨します。
  • UTF-8 以外のエンコーディングでは文字化けが発生する可能性があります。

📝 設定例

環境変数の設定

# ファイルアップロードの制限
MAX_FILE_SIZE=104857600  # 100MB

# チャンク設定(Embeddingモデルに合わせて調整)
MAX_CHUNK_SIZE=8191      # OpenAI embedding-3-large
MAX_OVERLAP_SIZE=200

モデルの設定

フロントエンドの「システム設定」→「モデル管理」で Embedding モデルを設定する際:

  • 最大入力 (Tokens): モデルの設定に従う(OpenAI=8191, Gemini=2048)
  • ベクトル次元数: モデルの出力設定に従う(text-embedding-3-large=2560, text-embedding-3-small=1536)
  • バッチ処理制限: モデルの設定に従う(OpenAI=2048, Gemini=100)

🔍 トラブルシューティング

ファイル形式がサポートされていない

エラー: 不支持的文件类型: application/xxx (サポートされていないファイル形式)

解決策:

  1. ファイル形式がサポートリストに含まれているか確認してください。
  2. ファイルの拡張子が正しいか確認してください。
  3. テキストエディタで開き、内容が読み取れるか確認してください。
  4. 新しい形式のサポートが必要な場合は、Issue を送信してください。

解析に失敗する

エラー: 无法提取文本内容 (テキスト内容を抽出できません)

解決策:

  1. Apache Tika サービスが動作しているか確認してください。
  2. Tika のログを確認してください:docker-compose logs tika
  3. 他のツールでファイルを開き、ファイルが破損していないか確認してください。
  4. ファイルの権限を確認してください。

エンコーディングの問題

現象: テキストが文字化けする

解決策:

  1. ファイルを UTF-8 エンコーディングに変換してください。
  2. テキストエディタで再度保存してください。
  3. システムの言語設定を確認してください。

📚 参考文献