こんにちは!Lifematicsのイノベーションチームの松本です。 これまで、弊社からオンプレミス・ローカルLLMの業務活用における得意不得意や、Difyを用いた基盤構築に関する記事を投稿してきました。
今回は、ローカルLLMを実際に活用したアプリケーションの例として、PDF文書の解析に特化した文書処理アプリケーションを作成したので、ユースケースとともにご紹介したいと思います。
対象読者
- ローカルLLMを利用したアプリケーションに興味がある方
- 顧客データなど、クラウドにアップロードできない情報を扱う必要がある方
- 文書データの手入力や、項目の抜け漏れおよび整合性チェックなどが頻繁に発生する業務を扱う企業
アプリケーションの特徴
作成した文書処理アプリケーションの概要は以下のようなものになります。
事前に処理ルールを定義した上でPDF文書をアップロードすると、ローカルLLMが根拠情報付きで処理結果を提示してくれるようになっています。
LLMとしては、日本語の理解度やOCR精度が高いとされている Qwen3.5-397B-A17B を利用しました。

アプリケーションの特徴:
- LLMを利用した処理を行うことで、文書の内容を理解して必要な情報を抽出することに重点を置いています。
- 判定基準や抽出ルールは日本語で記述・保存して再利用することができ、抽出と同時に項目の抜け漏れのチェックや、内容の矛盾の指摘、要約の追加なども同時に行うことが可能です。
- ローカルLLMをエンジンとして利用することができ、完全に隔離された環境にデプロイすることで、クラウドにアップロードできない機密性の高い文書を扱うことができます。
- 抽出結果はPDFと対応付けてプレビューすることができ、元々のPDF文書のどこから抽出されたのかを確認することができるようになっています。
実際にどのような使い方ができるか、2つの例を使って見ていきます。
ユースケース1:帳票のCSV読み取りと整合性チェック
1つめの例として、売上帳票のPDFから必要な項目をCSV形式で抽出するケースをご紹介します
(帳票PDFはChatGPTで生成した架空の受注伝票を使用しています)。
今回は単なる抽出と同時に内容のチェックを行うため、PDFの中に敢えて矛盾する内容を入れています。

まず処理ルールを定義します。定義する項目として、
- ルールの名前
- 指示文章
- 出力する列の名前と、必要に応じて補足説明
を指定します。今回は以下のようにルールを指定しました。

ここでポイントとして、PDF自体には含まれない「数量✕単価と金額の整合性」という項目を追加して、抽出だけではなく金額の整合性チェックも同時に行うようにしています。それ以外の項目に関しては単なる抽出なので、説明は省略しています。
これに対して実際に処理をかけてみると、整合性チェックを含めて正しく判定されました!
※なお、今回はLLMに数値の整合性のチェックを行ってもらいましたが、数値の扱いはLLM自身があまり得意でないため、数値を計算するツールを事前に別途用意しておいてLLMに必要に応じて呼び出させる方法を取るのが精度面で好ましいです(Function callingやMCPなどの技術を用いて実装可能です)。
ユースケース2:論文からの項目抽出と特記事項追加
もう1つの例として、医療論文から指定した項目を抽出するケースをご紹介します。
Natureで公開されているこちらのPDFに対して、以下のように論文中で行っている臨床試験の情報の抽出と、要約を行うルールを定義してみました。

上記ルールで抽出を行った結果は以下のようになりました。11ページある英語PDFですが、全体を読んで各項目を日本語にして抽出できていました。

実際の業務では、AIの抽出結果を最終的に人がチェックする必要があるクリティカルなケースも多いと思いますが、本アプリケーションではチェックの際の視認性を高めるためにPDFのどこから抽出されたのかを抽出結果と見比べて確認できるようになっています。特に数十ページに及ぶような長いPDFの場合に、全体を眺めて根拠箇所を探す手間が省けます。

まとめ
この記事では、ローカルLLMを利用して構築した文書処理アプリケーションを紹介しました。 同様の処理はクラウドAIを利用しても実現可能ですが、ローカルLLMを利用して作成することで、 機密性を確保することができます。 また、完全に自動化するのではなく、人が確認・修正できる形で抽出結果を提供することで、 業務の効率化と同時に、内容の正確性や信頼性を高めることができます。
ローカルLLMを用いたアプリケーション開発や、基盤構築についてご興味があれば、お気軽に弊社までお問い合わせください。