# サポートされているファイル形式 本システムは 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(`.env` の `MAX_FILE_SIZE` で設定可能) - 大容量ファイルはバッチ処理され、メモリオーバーフローを防止します。 - 推奨:最適なパフォーマンスを得るために、1ファイルあたり 50MB 以下にすることをお勧めします。 ### エンコーディングの問題 - システムはファイルのエンコーディングを自動検出します。 - UTF-8 エンコーディングのテキストファイルを推奨します。 - UTF-8 以外のエンコーディングでは文字化けが発生する可能性があります。 ## 📝 設定例 ### 環境変数の設定 ```env # ファイルアップロードの制限 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. システムの言語設定を確認してください。 ## 📚 参考文献 - [Apache Tika 公式ドキュメント](https://tika.apache.org/1.24/formats.html) - [Tika サポート形式一覧](https://tika.apache.org/1.24/formats.html) - [MIME タイプ標準](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types)