ファイル設定オブジェクト構造
概要
fileConfig オブジェクトを使用すると、サイズ制限やMIMEタイプの制限など、アプリケーションのファイル処理設定を構成できます。このセクションでは、fileConfig オブジェクトの構造について詳しく解説します。
fileConfig の下には8つの主要なフィールドがあります:
endpointsserverFileSizeLimitavatarSizeLimitimageGenerationfileTokenLimitocrtextstt
注記:
- 執筆時点で、Assistants endpoint は こちらのリストにあるファイルタイプをサポートしています。
- OpenAI、Azure OpenAI、Google、およびカスタムのendpointは、RAG APIを通じてファイルをサポートしています。
- OpenAI、Azure OpenAI、Anthropic、Google、およびAWS Bedrockの各endpointは、Upload to Provider を介した直接的なファイルアップロードをサポートしています。
ocr、text、およびsttセクションは、Upload as Text や OCR といった機能のファイル処理を制御します。- Pluginsなど、言及されていないその他のendpointは、(現時点では)ファイルアップロードをサポートしていません。
- Assistants endpoint は、定義された endpoint 値として
assistantsを使用します。その他のすべての endpoint は、定義された値defaultを使用します。- アシスタント以外のendpointについては、
defaultの下ですべてのファイル設定を調整できます。 - 特定の endpoint の設定を調整したい場合は、対応する endpoint 名をリストアップすることができます。
assistants- 他のものとは別にデフォルトが定義されているため、"default" は使用しません。
openAIazureOpenAIgooglebedrockYourCustomEndpointName
- アシスタント以外のendpointについては、
- 値を省略することも可能です。その場合、アプリは以下に記載されている各endpointタイプごとに定義されたデフォルト値を使用します。
- LibreChatでは、1メガバイトを
1 x 1024 x 1024として計算します。
例
fileConfig:
endpoints:
assistants:
fileLimit: 5
fileSizeLimit: 10
totalSizeLimit: 50
supportedMimeTypes:
- "image/.*"
- "application/pdf"
openAI:
disabled: true
default:
totalSizeLimit: 20
YourCustomEndpointName:
fileLimit: 5
fileSizeLimit: 1000
supportedMimeTypes:
- "image/.*"
serverFileSizeLimit: 1000
avatarSizeLimit: 2
fileTokenLimit: 100000
imageGeneration:
percentage: 100
px: 1024
ocr:
supportedMimeTypes:
- "^image/(jpeg|gif|png|webp|heic|heif)$"
- "^application/pdf$"
- "^application/vnd\\.openxmlformats-officedocument\\.(wordprocessingml\\.document|presentationml\\.presentation|spreadsheetml\\.sheet)$"
- "^application/vnd\\.ms-(word|powerpoint|excel)$"
- "^application/epub\\+zip$"
text:
supportedMimeTypes:
- "^text/(plain|markdown|csv|json|xml|html|css|javascript|typescript|x-python|x-java|x-csharp|x-php|x-ruby|x-go|x-rust|x-kotlin|x-swift|x-scala|x-perl|x-lua|x-shell|x-sql|x-yaml|x-toml)$"
stt:
supportedMimeTypes:
- "^audio/(mp3|mpeg|mpeg3|wav|wave|x-wav|ogg|vorbis|mp4|x-m4a|flac|x-flac|webm)$"serverFileSizeLimit
| Key | Type | Description | Example |
|---|---|---|---|
| serverFileSizeLimit | Integer | サーバーにアップロードされるあらゆるファイルのグローバル最大サイズ(メガバイト(MB)単位で指定)。 | Acts as an overarching limit for file uploads across all endpoints, ensuring that no file exceeds this size server-wide. |
fileConfig:
serverFileSizeLimit: 1000avatarSizeLimit
| Key | Type | Description | Example |
|---|---|---|---|
| avatarSizeLimit | Integer | アバター画像に許可される最大サイズ(メガバイト(MB)単位)。 | Specifically tailored for user avatar uploads, allowing for control over image sizes to maintain consistent quality and loading times. |
fileConfig:
avatarSizeLimit: 2imageGeneration
| Key | Type | Description | Example |
|---|---|---|---|
| imageGeneration | Object | 画像生成の出力品質および寸法に関する設定。 | Allows configuration of either output size as a percentage relative to some base size or as an explicit pixel dimension. |
imageGeneration は以下のパラメータをサポートしています:
-
percentage(整数)- 生成された画像の出力サイズをパーセンテージで表したもの(例:
100は基本サイズの100%を意味します)。 - デフォルトまたは元のサイズに対して出力画像を拡大・縮小するには、これを使用します。
- 生成された画像の出力サイズをパーセンテージで表したもの(例:
-
px(整数)- 出力画像の寸法をピクセル単位で指定します(例:
1024)。 - ベースサイズに関係なく、生成される画像の出力サイズを明示的に設定するためにこれを使用します。
- 出力画像の寸法をピクセル単位で指定します(例:
ユースケースに応じて、これらのパラメータ(percentage または px)のうちいずれか1つのみを設定できます。両方を同時に設定することはできません。
設定例:
fileConfig:
imageGeneration:
percentage: 100
px: 1024fileTokenLimit
| Key | Type | Description | Example |
|---|---|---|---|
| fileTokenLimit | Number | 切り捨て前にプロンプトに含めるテキストファイルからの最大トークン数。 | fileTokenLimit: 100000 |
説明: テキストコンテンツを添付する際、LibreChatはプロンプト構築の直前に、設定されたトークン制限に合わせて実行時にテキストを切り捨てます。
デフォルト: 100000
fileConfig:
fileTokenLimit: 100000ocr
| Key | Type | Description | Example |
|---|---|---|---|
| ocr | Object | 光学式文字認識(OCR)ファイル処理の設定。 | Configures which file types are processed using OCR. |
説明: ocr セクションでは、視覚的なドキュメントからテキストを抽出するために、どのファイルタイプをOCR機能で処理するかを設定します。
注: このセクションは、OCR処理のためのファイルタイプマッチングを制御します。エージェント機能を有効にし、OCRサービスを設定するには、以下を参照してください:
ocrおよびcontext機能の Agents Configuration- OCR Configuration (OCRサービス設定用)
supportedMimeTypes
| Key | Type | Description | Example |
|---|---|---|---|
| supportedMimeTypes | Array of Strings | OCRで処理すべきファイルのMIMEタイプパターンのリスト。 | Uses regular expressions to match file types. |
デフォルト: 画像、PDF、およびOfficeドキュメント
fileConfig:
ocr:
supportedMimeTypes:
- "^image/(jpeg|gif|png|webp|heic|heif)$"
- "^application/pdf$"
- "^application/vnd\\.openxmlformats-officedocument\\.(wordprocessingml\\.document|presentationml\\.presentation|spreadsheetml\\.sheet)$"
- "^application/vnd\\.ms-(word|powerpoint|excel)$"
- "^application/epub\\+zip$"text
| Key | Type | Description | Example |
|---|---|---|---|
| text | Object | OCRを使用しない直接的なテキストファイル解析のための設定。 | Configures which file types are processed as plain text files for direct content extraction. |
説明: text セクションでは、直接的なテキスト抽出を使用して処理するファイルタイプを設定します。
注: テキスト解析は、「テキストとしてアップロード」機能(context機能によって制御されます)で使用されるデフォルトのメソッドです。まずRAG APIのテキスト解析ライブラリの使用を試み、RAG APIが接続されていない場合は、外部サービスを必要としないよりシンプルなテキスト抽出メソッドにフォールバックします。詳細については、テキストとしてアップロードを参照してください。
supportedMimeTypes
| Key | Type | Description | Example |
|---|---|---|---|
| supportedMimeTypes | Array of Strings | プレーンテキストとして解析されるべきファイルのMIMEタイプパターンのリスト。 | Uses regular expressions to match file types. |
デフォルト: すべてのテキストファイルおよび一般的なプログラミング言語
fileConfig:
text:
supportedMimeTypes:
- "^text/(plain|markdown|csv|json|xml|html|css|javascript|typescript|x-python|x-java|x-csharp|x-php|x-ruby|x-go|x-rust|x-kotlin|x-swift|x-scala|x-perl|x-lua|x-shell|x-sql|x-yaml|x-toml)$"stt
| Key | Type | Description | Example |
|---|---|---|---|
| stt | Object | Speech-to-Text (STT) 音声ファイル処理の設定。 | Configures which audio file types are processed using STT for transcription. |
説明: stt セクションでは、音声をテキストに変換する Speech-to-Text 機能を使用して処理する音声ファイルの種類を設定します。
supportedMimeTypes
| Key | Type | Description | Example |
|---|---|---|---|
| supportedMimeTypes | Array of Strings | STTで文字起こしを行う音声ファイルのMIMEタイプパターンのリスト。 | Uses regular expressions to match audio file types. |
デフォルト: 一般的なオーディオ形式
fileConfig:
stt:
supportedMimeTypes:
- "^audio/(mp3|mpeg|mpeg3|wav|wave|x-wav|ogg|vorbis|mp4|x-m4a|flac|x-flac|webm)$"注記:
textパターンに一致するファイルは、単純なテキスト抽出で処理されます。ocrパターンに一致するファイルは、提供された OCR サービスで処理されます。sttパターンに一致するファイルは、Speech-to-Text(音声文字起こし)で処理されます。- 処理の優先順位: OCR > STT > テキスト解析 > フォールバック
- どのパターンにも一致しないファイルは、テキスト解析にフォールバックされます。
ファイル処理の優先順位
LibreChatは、以下の優先順位に従ってMIMEタイプの照合に基づき、アップロードされたファイルを処理します。
- OCR - ファイルが
ocr.supportedMimeTypesに一致し、かつ OCR が設定されている場合 - STT - ファイルが
stt.supportedMimeTypesに一致し、かつ STT が設定されている場合 - テキスト解析 - ファイルが
text.supportedMimeTypesに一致する場合 - フォールバック - 最終手段としてのテキスト解析
この処理順序により、特殊なサービス(OCR/STT)が設定されていない場合でも機能を維持しつつ、最適な抽出品質が保証されます。
処理の例
OCRが設定されたPDFファイル:
- ファイルは
ocr.supportedMimeTypesに一致します - OCRを使用してテキストを抽出します
- スキャンされたPDFや画像に対するより高い品質
OCRが設定されていないPDFファイル:
- ファイルが
text.supportedMimeTypesに一致する(またはフォールバックを使用する) - テキスト解析ライブラリを使用します
- テキスト選択可能なデジタルPDFでうまく機能します
Pythonファイル:
text.supportedMimeTypesに一致するファイル- テキスト解析を使用 (OCRは不要)
- 直接テキスト抽出
STTが設定された音声ファイル:
- ファイルは
stt.supportedMimeTypesに一致します - STTを使用して音声をテキストに文字起こしします
OCRが設定されていない画像ファイル:
- ファイルは
ocr.supportedMimeTypesに一致しますが、OCRは利用できません - テキスト解析にフォールバックします
- OCRなしでは抽出機能が制限されます
この優先順位システムにより、「テキストとしてアップロード」のような機能はOCR設定を必要とせずに動作しつつ、利用可能な場合にはOCRを活用して抽出品質を向上させることができます。
endpoints
| Key | Type | Description | Example |
|---|---|---|---|
| endpoints | Record/Object | 個々のendpointのファイル処理設定を構成し、endpointごとにカスタマイズできるようにします。 | Specifies file handling configurations for individual endpoints, allowing customization per endpoint basis. |
説明: endpoints 配下の各オブジェクトは、以下の設定を持つことができるレコードです。
概要
disabled- エンドポイントに対してファイル処理が無効になっているかどうか。
fileLimit- 1回のリクエストでアップロード可能なファイルの最大数。
fileSizeLimit- 1つのファイルの最大サイズ。単位はMBです(例:20メガバイトの場合は
20と指定します)
- 1つのファイルの最大サイズ。単位はMBです(例:20メガバイトの場合は
totalSizeLimit- 1回のリクエストにおける全ファイルの合計最大サイズ。単位はMBです(例:20メガバイトの場合は
20と指定してください)。
- 1回のリクエストにおける全ファイルの合計最大サイズ。単位はMBです(例:20メガバイトの場合は
supportedMimeTypes- アップロードを許可するMIMEタイプを指定するRegular Expressionsのリストです。これは、ファイルタイプを制限するためにカスタマイズ可能です。
disabled
| Key | Type | Description | Example |
|---|---|---|---|
| disabled | Boolean | 特定の endpoint でファイルのアップロードが無効になっているかどうかを示します。 | Setting this to `true` prevents any file uploads to the specified endpoint, overriding any other file-related settings. |
デフォルト: false
openAI:
disabled: truefileLimit
キー:
| Key | Type | Description | Example |
|---|---|---|---|
| fileLimit | Integer | 1回のアップロードリクエストで許可されるファイルの最大数。 | Helps control the volume of uploads and manage server load. |
デフォルト: endpointにより異なります
assistants:
fileLimit: 5fileSizeLimit
キー:
| Key | Type | Description | Example |
|---|---|---|---|
| fileSizeLimit | Integer | 各ファイルに許可される最大サイズ(メガバイト(MB)単位)。 | This limit ensures that no single file exceeds the specified size, allowing for better resource allocation and management. |
デフォルト: endpointにより異なります
YourCustomEndpointName:
fileSizeLimit: 1000totalSizeLimit
キー:
| Key | Type | Description | Example |
|---|---|---|---|
| totalSizeLimit | Integer | 1回のリクエストで許可される全ファイルの合計最大サイズ(メガバイト単位)。 | This setting is crucial for preventing excessive bandwidth and storage usage by any single upload request. |
デフォルト: endpointにより異なります
assistants:
totalSizeLimit: 50supportedMimeTypes
キー:
| Key | Type | Description | Example |
|---|---|---|---|
| supportedMimeTypes | Array of Strings | アップロードが許可されるMIMEタイプを定義する正規表現のリスト。 | This allows for precise control over the types of files that can be uploaded. Invalid regex is ignored. |
デフォルト: endpointにより異なります
assistants:
supportedMimeTypes:
- "image/.*"
- "application/pdf"このガイドはいかがでしたか?