---
title: テキスト抽出ツール
version: '日本語'
---

### 定義

LLM（大規模言語モデル）は文書の内容を直接読み取ることができません。そのため、ユーザーがアップロードした文書を”テキスト抽出ツールノード”を介して解析し、文書ファイルの情報を読み取り、テキストに変換して内容をLLMに送信する必要があります。

### 適用シナリオ

* ファイルに対話できるLLMアプリを構築する、例えばChatPDFやChatWord；
* ユーザーがアップロードしたファイルの内容を分析およびチェックする；

### ノードの機能

テキスト抽出ツールノードは、情報を処理する中心的な役割を果たします。入力変数内のファイルを識別して読み取り、情報を抽出し、string型の出力変数に変換して、下流のノードが呼び出すために提供します。

![](/ja-jp/img/0cbfd9c1d9d56e6a528b134bd07662ec.png)

テキスト抽出ツールノードは、入力変数と出力変数に分かれています。

#### 入力変数

テキスト抽出ツールは以下のデータ構造の変数のみを受け入れます：

* `File`，1つのファイル
* `Array[File]`，複数のファイル

テキスト抽出ツールは、テキスト、Markdown、PDF、HTML、DOCX形式のファイルなどの文書タイプから情報を抽出できますが、画像、音声、映像などの形式のファイルは処理できません。

#### 出力変数

出力変数は`text`という固定の名前です。出力変数の型は入力変数に依存します：

* 入力変数が`File`の場合、出力変数は`string`です。
* 入力変数が`Array[File]`の場合、出力変数は`array[string]`です。

> Array配列変数は通常、リスト操作ノードと組み合わせて使用されます。詳細については、[リスト操作](./list-operator)を参照してください。

### 設定例

典型的なファイルインタラクションの質疑応答シナリオでは、テキスト抽出ツールはLLMノードの前段階として機能し、アプリのファイル情報を抽出し、LLMノードに渡してユーザーのファイルに関する質問に回答します。

このセクションでは、典型的なChatPDFサンプルワークフローテンプレートを用いて、テキスト抽出ツールノードの使用方法を説明します。

![](/ja-jp/img/46a1f939088176a76e843422360ea948.png)

**設定手順：**

1. アプリでファイルアップロード機能を有効にします。 [“スタート”](./start) ノードで**単一ファイル変数**を追加し、`pdf`と名付けます。
2. テキスト抽出ツールノードを追加し、入力変数で`pdf`変数を選択します。
3. LLMノードを追加し、システムプロンプトでテキスト抽出ツールノードの出力変数を選択します。LLMはこの出力変数を使用してファイルの内容を読み取ることができます。

![](/ja-jp/img/4f307d5ece35155a24eac7013766f9ee.png)

4. エンドノードを設定し、LLMノードの出力変数を選択します。

設定が完了すると、アプリケーションはファイルアップロード機能を持ち、ユーザーはPDFファイルをアップロードして対話を展開できるようになります。

<Frame>
  <img src="https://assets-docs.dify.ai/dify-enterprise-mintlify/jp/guides/workflow/node/27173b2503ca7241b084f7cbd17cdb4c.png" alt="ドキュメント抽出ノードの設定" />
</Frame>

<Tip>
チャット対話でファイルをアップロードしLLMと対話する方法については、[追加機能](/ja-jp/guides/workflow/additional-feature)を参照してください。
</Tip>

{/*
Contributing Section
DO NOT edit this section!
It will be automatically generated by the script.
*/}

---

[このページを編集する](https://github.com/langgenius/dify-docs/edit/main/ja-jp/guides/workflow/node/doc-extractor.mdx) | [問題を報告する](https://github.com/langgenius/dify-docs/issues/new?template=docs.yml)

