Skip to main content
LibreChat is joining ClickHouse to power the open-source Agentic Data Stack 🎉 Learn more
LibreChat

ファイルをテキストとしてアップロード

ファイルをチャットにドラッグ&ドロップするだけで、LibreChatが読み取ります。セットアップは不要です。

ファイルをテキストとしてアップロード

PDF、コードファイル、あるいはスプレッドシートをAIに渡して、ただ「これを読んで」と言うだけで済ませたいと思ったことはありませんか?それこそが、Upload as Text(テキストとしてアップロード)の機能です。

ファイルを添付すると、LibreChatがそのファイルからテキストを抽出し、その内容全体が会話に直接貼り付けられます。AIはプラグインやベクトルデータベース、追加のサービス設定を必要とすることなく、その内容をすべて読み取ることができます。箱から出してすぐに動作します。

セットアップ不要

Upload as Textは、あらゆるLibreChatインスタンスですぐに動作します。組み込みのテキスト解析を使用するため、OCR、RAGパイプライン、または外部サービスを必要とせずに開始できます。


How to use it

添付アイコンをクリック

チャット入力バーにあるペーパークリップ (📎) アイコンをクリックします。

「テキストとしてアップロード」を選択

ドロップダウンメニューから Upload as Text を選択します。これにより、LibreChatはファイルを生の添付ファイルとして渡すのではなく、ファイルの内容を読み取るようになります。

ファイルを選択

デバイスからファイルを選択してください。LibreChatがテキストを抽出し、メッセージに直接埋め込みます。

質問する

通常通りプロンプトを入力してください。AIはファイルの全文をコンテキストとして保持しており、そのどの部分でも参照可能です。

オプションが表示されませんか?

「Upload as Text」が表示されない場合、管理者が context 機能を無効にしている可能性があります。この機能はデフォルトで有効になっていますが、機能リストがカスタマイズされている場合は、context を明示的に含める必要があります。以下の設定セクションを参照してください。


内部の仕組み

この方法でファイルをアップロードすると、LibreChatは単に生のバイトデータをプロンプトに流し込むだけではありません。処理パイプラインを通じて、クリーンで読み取り可能なテキストを抽出します。

  1. MIME type detection — LibreChatは、アップロードされたファイルの種類(PDF、画像、音声、ソースコードなど)をMIMEタイプを検査することで確認します。
  2. メソッドの選択 — ファイルの種類と利用可能なサービスに基づいて、以下の優先順位で最適な抽出メソッドを選択します。
優先度メソッド使用されるタイミング
1番目OCRファイルが画像またはスキャンされたドキュメントであり、かつ OCRが設定されている場合
2番目STT (Speech-to-Text)ファイルが音声であり、かつ STTが設定されている場合
3番目テキスト解析ファイルが既知のテキストMIMEタイプと一致する場合
4番目フォールバック上記のいずれにも一致しない場合 — とにかくテキスト解析を試みる
  1. トークンの切り詰め — 抽出されたテキストは fileTokenLimit(デフォルト: 100,000トークン)に合わせてトリミングされるため、モデルのコンテキストウィンドウを超えることはありません。
  2. プロンプトインジェクション — テキストは、あなたのメッセージと並んで会話コンテキストに含まれます。

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

これらは直接解析されます。すでにテキストであるため、変換は不要です。

  • プレーンテキスト (.txt)、Markdown (.md)、CSV、JSON、XML、HTML、CSS
  • プログラミング言語 — Python, JavaScript, TypeScript, Java, C#, PHP, Ruby, Go, Rust, Kotlin, Swift, Scala, Perl, Lua
  • 設定ファイル — YAML, TOML, INI
  • シェルスクリプト、SQLファイル

テキストとしてアップロード vs. その他のアップロードオプション

LibreChatには、ファイルをアップロードする方法が3つあります。それぞれ動作が異なり、状況に応じて使い分けることができます。

クイック決定ガイド:

状況最適なオプション
"この5ページの契約書を読んで要約して"テキストとしてアップロード
"PDFが50個あるので、価格について言及している箇所を見つけて"ファイル検索 (RAG)
"このスクリーンショットには何が写っている?" (ビジョンモデル)標準アップロード
"このPythonスクリプトを実行して" (コードインタープリター)標準アップロード
"このコードファイルのバグをレビューして"テキストとしてアップロード
"社内ドキュメントを検索して"ファイル検索 (RAG)

context 機能

内部的には、Upload as Textは**context capability**によって駆動されています。これが、チャットUIにこの機能を表示するかどうかを制御しています。

context 機能は デフォルトで有効 になっています。管理者が機能リストをカスタマイズし、誤ってこの機能を除外してしまった場合にのみ、この設定を調整する必要があります。

librechat.yaml
endpoints:
  agents:
    capabilities:
      - "context"  # This is what enables "Upload as Text"

同じ context 機能は、Agent File Context(Agent Builder を通じてファイルをアップロードし、エージェントのシステム指示にテキストを埋め込む機能)も支えています。違いは、そのテキストが最終的に どこ に配置されるかという点です。

テキストとしてアップロードエージェントのファイルコンテキスト
場所チャット入力(任意の会話)Agent Builder パネル
スコープ現在の会話のみエージェントの指示に永続的に保持
ユースケースドキュメントに関する単発の質問知識を組み込んだ専門エージェントの構築

トークン制限と切り捨て (Truncation)

ファイルが長すぎてモデルのコンテキストウィンドウに収まらない場合、LibreChatは抽出されたテキストを切り詰めて制限内に収めます。これは自動的に行われるため、ユーザーが気にする必要はありませんが、仕組みを理解しておくと役立ちます。

librechat.yaml
fileConfig:
  fileTokenLimit: 100000  # Default: 100,000 tokens

切り詰め(Truncation)はコンテンツの損失を意味します

ファイルが制限を超えると、テキストの末尾が切り捨てられます。回答が不完全になる場合は、これが原因である可能性があります。fileTokenLimit を増やすことは可能ですが、値を大きくするとメッセージあたりのトークン消費量が増加し、コストが増大するだけでなく、モデル自体のコンテキスト制限に達する可能性があることに留意してください。

経験則:

  • 100kトークン ≈ 300ページの書籍1冊分(ほとんどのユースケースで十分な量)
  • 非常に大きなファイルを扱う場合は、すべてをコンテキストに詰め込むのではなく、関連するセクションのみを取得する File Search (RAG) の利用を検討してください。

オプション: OCRによる抽出の強化

テキスト解析は、デジタル作成されたドキュメント(Wordから保存されたPDF、コードファイル、プレーンテキスト)では問題なく動作します。しかし、スキャンされたドキュメント、ページの写真、またはテキストを含む画像をアップロードする場合、組み込みのパーサーでは良好な結果が得られません。

そこでOCRの出番です。設定が完了すると、LibreChatはOCRの恩恵を受けるファイルタイプに対して自動的にOCRを使用します。ユーザー側で特別な操作を行う必要はありません。


ファイル処理設定リファレンス

このセクションは、どのファイルタイプをどのメソッドで処理するかを制御したい管理者向けです。デフォルト設定で十分に機能するため、動作を微調整したい場合のみ変更してください。


トラブルシューティング


このガイドはいかがでしたか?