目次
Markdown Text
ステップ6:アソシエイトテキストと画像
キーテイクアウト
ホームページ テクノロジー周辺機器 AI Llamaindexを使用したマルチモーダル財務報告の生成

Llamaindexを使用したマルチモーダル財務報告の生成

Mar 09, 2025 pm 12:45 PM

多くの現実世界のアプリケーションでは、データは純粋にテキストではありません。物語を強化するのに役立つ画像、表、チャートが含まれる場合があります。マルチモーダルレポートジェネレーターを使用すると、テキストと画像の両方を最終出力に組み込むことができ、レポートをより動的で視覚的にリッチにします。 この記事では、次のようなパイプラインを構築する方法の概要を説明します。

llamaindex
    ドキュメントの解析とクエリエンジンを調整するには、
  • Openai
  • テキスト分析の言語モデル、
  • llamaparse
  • PDFドキュメントからテキストと画像の両方を抽出するには、
  • ロギングとデバッグのためにArize Phoenixを使用した観測可能性のセットアップ(llamatrace経由)
  • 最終結果は、テキストとビジュアルの両方でPDFスライドデッキ全体を処理し、テキストと画像の両方を含む構造化されたレポートを生成できるパイプラインです。
  • 学習目標

マルチモーダルパイプラインを使用して、効果的な財務レポート生成のためにテキストとビジュアルを統合する方法を理解してください。

構造化された出力で財務報告の強化のためにLlamaindexとLlamaparseを利用することを学ぶ。

PDFドキュメントからテキストと画像の両方を効果的に抽出するためのLlamaparseを探索してください。 複雑なパイプラインのロギングとデバッグのために、Arize Phoenix(Lamatrace経由)を使用して観測可能性を設定します。
    構造化されたクエリエンジンを作成して、視覚的要素を含むテキストの要約をインターリーブするレポートを生成します。
  • この記事は、
  • データサイエンスブログの一部として公開されました。
  • 目次

プロセスの概要ステップバイステップの実装ステップ1:依存関係のインストールとインポートステップ2:観察可能性を設定します

ステップ3:データのロード
    ステップ6:関連テキストと画像
  • プロセスの概要
    • マルチモーダルレポートジェネレーターの構築には、PDFSなどの複雑なドキュメントからテキストと視覚要素をシームレスに統合するパイプラインを作成することが含まれます。このプロセスは、ドキュメントの解析やクエリオーケストレーションにllamaindexなど、テキストと画像の両方を抽出するためのllamaparseなどの必要なライブラリのインストールから始まります。 Arize Phoenix(Lamatraceを介して)を使用して、パイプラインを監視およびデバッグして観測性が確立されます。

      セットアップが完了したら、パイプラインはPDFドキュメントを処理し、そのコンテンツを構造化されたテキストに解析し、テーブルやチャートなどの視覚要素をレンダリングします。これらの解析された要素が関連付けられ、統一されたデータセットが作成されます。 summaryindexは、高レベルの洞察を有効にするために構築されており、関連するビジュアルとテキスト分析をブレンドするレポートを生成するために構造化されたクエリエンジンが開発されています。その結果、静的ドキュメントをユーザークエリに合わせて調整されたリッチなマルチモーダル出力に変換する動的でインタラクティブなレポートジェネレーター。

      ステップバイステップの実装

      この詳細なガイドに従って、依存関係のセットアップから統合されたテキストと画像を使用して構造化された出力の生成まで、マルチモーダルレポートジェネレーターを構築します。各ステップにより、効率的で動的なパイプラインのために、Llamaindex、Llamaparse、およびArize Phoenixのシームレスな統合が保証されます。

      ステップ1:依存関係をインストールしてインポート

      python 3.9.9:

      で実行されている次のライブラリが必要です。

      llama-index
      • llama-parse
      • (テキスト画像の解析の場合)
      • llama-index-callbacks-arize-phoenix
      • (観測可能性/ロギング用)
      • nest_asyncio
      • (ノートブックでの非同期イベントループを処理するため)
      • ステップ2:観測可能性を設定します
      !pip install -U llama-index-callbacks-arize-phoenix
      
      import nest_asyncio
      
      nest_asyncio.apply()
      ログイン後にコピー
      ログイン後にコピー
      llamatrace - llamacloud API(Arize Phoenix)と統合します。まず、llamatrace.comからAPIキーを取得してから、環境変数を設定してフェニックスにトレースを送信します。

      Phoenix APIキーは、こちらからLamatraceにサインアップしてから取得し、左下のパネルに移動し、APIキーを見つける「キー」をクリックします。

      たとえば、

      ステップ3:データを読み込む - スライドデッキを取得 デモンストレーションでは、コノコフィリップスの2023年の投資家会議スライドデッキを使用しています。 PDF:

      をダウンロードします
      PHOENIX_API_KEY = "<PHOENIX_API_KEY>"
      os.environ["OTEL_EXPORTER_OTLP_HEADERS"] = f"api_key={PHOENIX_API_KEY}"
      llama_index.core.set_global_handler(
          "arize_phoenix", endpoint="https://llamatrace.com/v1/traces"
      )
      ログイン後にコピー
      ログイン後にコピー

      PDFスライドデッキがデータフォルダーにあるかどうかを確認します。データフォルダーに配置して、必要に応じて名前を付けてください。

      ステップ4:モデルのセットアップ

      埋め込みモデルとLLMが必要です。この例では、
      import os
      import requests
      
      # Create the directories (ignore errors if they already exist)
      os.makedirs("data", exist_ok=True)
      os.makedirs("data_images", exist_ok=True)
      
      # URL of the PDF
      url = "https://static.conocophillips.com/files/2023-conocophillips-aim-presentation.pdf"
      
      # Download and save to data/conocophillips.pdf
      response = requests.get(url)
      with open("data/conocophillips.pdf", "wb") as f:
          f.write(response.content)
      
      print("PDF downloaded to data/conocophillips.pdf")
      ログイン後にコピー
      ログイン後にコピー

      次に、これらをllamaindex:

      のデフォルトとして登録します

      ステップ5:llamaparse

      でドキュメントを解析します
      from llama_index.llms.openai import OpenAI
      from llama_index.embeddings.openai import OpenAIEmbedding
      embed_model = OpenAIEmbedding(model="text-embedding-3-large")
      llm = OpenAI(model="gpt-4o")
      ログイン後にコピー
      ログイン後にコピー
      llamaparseはテキストと画像を抽出できます(マルチモーダルの大規模モデルを介して)。各PDFページについて、それは返されます:

      from llama_index.core import Settings
      Settings.embed_model = embed_model
      Settings.llm = llm
      ログイン後にコピー

      Markdown Text

      (テーブル、見出し、弾丸ポイントなど)

        レンダリングされた画像
      • (ローカルで保存)
      print(f"Parsing slide deck...")
      md_json_objs = parser.get_json_result("data/conocophillips.pdf")
      md_json_list = md_json_objs[0]["pages"]
      ログイン後にコピー

      Llamaindexを使用したマルチモーダル財務報告の生成

      print(md_json_list[10]["md"])
      ログイン後にコピー

      !pip install -U llama-index-callbacks-arize-phoenix
      
      import nest_asyncio
      
      nest_asyncio.apply()
      ログイン後にコピー
      ログイン後にコピー

      Llamaindexを使用したマルチモーダル財務報告の生成

      ステップ6:アソシエイトテキストと画像

      各ページのtextnode オブジェクト(llamaindexのデータ構造)のリストを作成します。各ノードには、ページ番号と対応する画像ファイルパスに関するメタデータがあります。

      PHOENIX_API_KEY = "<PHOENIX_API_KEY>"
      os.environ["OTEL_EXPORTER_OTLP_HEADERS"] = f"api_key={PHOENIX_API_KEY}"
      llama_index.core.set_global_handler(
          "arize_phoenix", endpoint="https://llamatrace.com/v1/traces"
      )
      ログイン後にコピー
      ログイン後にコピー

      Llamaindexを使用したマルチモーダル財務報告の生成

      ステップ7:概要インデックスを作成します

      これらのテキストノードを手にすると、summaryindexを作成できます。

      summaryIndexは、ドキュメント全体で高レベルの要約を簡単に取得または生成できるようにします。

      ステップ8:構造化された出力スキーマを定義します
      import os
      import requests
      
      # Create the directories (ignore errors if they already exist)
      os.makedirs("data", exist_ok=True)
      os.makedirs("data_images", exist_ok=True)
      
      # URL of the PDF
      url = "https://static.conocophillips.com/files/2023-conocophillips-aim-presentation.pdf"
      
      # Download and save to data/conocophillips.pdf
      response = requests.get(url)
      with open("data/conocophillips.pdf", "wb") as f:
          f.write(response.content)
      
      print("PDF downloaded to data/conocophillips.pdf")
      ログイン後にコピー
      ログイン後にコピー

      パイプラインは、インターリーブテキストブロックと画像ブロックを備えた最終出力を生成することを目的としています。そのために、2つのブロックタイプのカスタムPydanticモデル(Pydantic V2または互換性を確保する)を作成します。

      ReportOutput

      は、少なくとも1つの画像ブロックを必要とし、最終的な答えがマルチモーダルであることを確認してください。 ステップ9:構造化されたクエリエンジンを作成 llamaindexを使用すると、「構造化されたLLM」(つまり、出力が特定のスキーマに自動的に解析されるLLM)を使用できます。方法は次のとおりです

      from llama_index.llms.openai import OpenAI
      from llama_index.embeddings.openai import OpenAIEmbedding
      embed_model = OpenAIEmbedding(model="text-embedding-3-large")
      llm = OpenAI(model="gpt-4o")
      ログイン後にコピー
      ログイン後にコピー

      結論

      Llamaindex、Llamaparse、およびOpenaIを組み合わせることにより、PDF(テキスト、テーブル、画像を使用)を処理するマルチモーダルレポートジェネレーターを構造化された出力に組み込むことができます。このアプローチは、より豊かで視覚的に有益な結果をもたらします。これは、複雑な企業または技術文書から批判的な洞察を収集するために利害関係者が必要とするものを標準的に提供します。

      このパイプラインを独自のドキュメントに自由に調整したり、大規模なアーカイブの検索ステップを追加したり、基礎となる画像を分析するためのドメイン固有のモデルを統合してください。ここに設立された基盤を使用すると、単純なテキストベースのクエリをはるかに超えるダイナミックでインタラクティブで視覚的に豊富なレポートを作成できます。 この素晴らしいパイプラインを開発してくれたLlamaindexのJerry Liuに感謝します。

      キーテイクアウト

      • llamaparseとllamaindexを使用して元のコンテンツの整合性を維持しながら、テキストとビジュアルを使用してPDFを構造化された形式に変換します。
      • テキストの概要と画像を織り交ぜて、より良い文脈的理解を得るという視覚的に濃縮されたレポートを生成します。
      • 財務報告書の生成は、より洞察力のある動的な出力のためにテキストと視覚要素の両方を統合することで強化できます。
      • llamaindexとllamaparseのレバレッジは、財務報告の生成のプロセスを合理化し、正確で構造化された結果を確保します。 大規模なアーカイブのレポート生成を最適化するために、処理する前に関連するドキュメントを取得します。
      • 視覚的解析を改善し、チャート固有の分析を組み込み、より深い洞察のためにテキストと画像処理のモデルを組み合わせます。
      • よくある質問
      • q1。 「マルチモーダルレポートジェネレーター」とは?マルチモーダルレポートジェネレーターは、1つのまとまりのある出力で複数のタイプのコンテンツ(主にテキストと画像)を含むレポートを生成するシステムです。このパイプラインでは、PDFをテキスト要素と視覚要素の両方に解析し、それらを単一の最終レポートに結合します。なぜLlama-Index-Callbacks-Arize-Phoenixをインストールし、観察可能性をセットアップする必要があるのですか? Arize Phoenix(Lamatraceを介して)などの観測可能性ツールでは、モデルの動作を監視およびデバッグし、クエリと応答を追跡し、リアルタイムで問題を特定できます。大規模または複雑なドキュメントと複数のLLMベースの手順を扱う場合に特に便利です。なぜ標準のPDFテキスト抽出器の代わりにllamaparseを使用するのですか? ほとんどのPDFテキスト抽出器は、生のテキストのみを処理し、しばしばフォーマット、画像、テーブルを失います。 Llamaparseは、テキストと画像の両方(レンダリングされたページ画像)を抽出することができます。これは、テーブル、チャート、またはその他のビジュアルを参照する必要があるマルチモーダルパイプラインを構築するために重要です。 summaryindexを使用することの利点は何ですか? summaryIndexは、コンテンツ(PDFのページなど)を整理するLlamainDexの抽象化であるため、包括的な要約をすばやく生成できます。それは、手動でそれらをチャンクしたり、データの各部分の検索クエリを実行することなく、長いドキュメントから高レベルの洞察を収集するのに役立ちます。最終レポートに少なくとも1つの画像ブロックが含まれるようにするにはどうすればよいですか? ReportOutput Pydanticモデルでは、ブロックリストに少なくとも1つのImageBlockが必要であることを強制します。これは、システムプロンプトとスキーマに記載されています。 LLMはこれらのルールに従う必要があります。そうしないと、有効な構造化された出力が生成されません。
      • この記事に示されているメディアは、Analytics Vidhyaが所有しておらず、著者の裁量で使用されています。

以上がLlamaindexを使用したマルチモーダル財務報告の生成の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

AGNOフレームワークを使用してマルチモーダルAIエージェントを構築する方法は? AGNOフレームワークを使用してマルチモーダルAIエージェントを構築する方法は? Apr 23, 2025 am 11:30 AM

エージェントAIに取り組んでいる間、開発者は速度、柔軟性、リソース効率の間のトレードオフをナビゲートすることがよくあります。私はエージェントAIフレームワークを探索していて、Agnoに出会いました(以前はPhi-でした。

SQLに列を追加する方法は? - 分析Vidhya SQLに列を追加する方法は? - 分析Vidhya Apr 17, 2025 am 11:43 AM

SQLの変更テーブルステートメント:データベースに列を動的に追加する データ管理では、SQLの適応性が重要です。 その場でデータベース構造を調整する必要がありますか? Alter Tableステートメントはあなたの解決策です。このガイドの詳細は、コルを追加します

OpenaiはGPT-4.1でフォーカスをシフトし、コーディングとコスト効率を優先します OpenaiはGPT-4.1でフォーカスをシフトし、コーディングとコスト効率を優先します Apr 16, 2025 am 11:37 AM

このリリースには、GPT-4.1、GPT-4.1 MINI、およびGPT-4.1 NANOの3つの異なるモデルが含まれており、大規模な言語モデルのランドスケープ内のタスク固有の最適化への動きを示しています。これらのモデルは、ようなユーザー向けインターフェイスをすぐに置き換えません

ラマドラマを超えて:大規模な言語モデル用の4つの新しいベンチマーク ラマドラマを超えて:大規模な言語モデル用の4つの新しいベンチマーク Apr 14, 2025 am 11:09 AM

問題のあるベンチマーク:ラマのケーススタディ 2025年4月上旬、MetaはLlama 4スイートのモデルを発表し、GPT-4oやClaude 3.5 Sonnetなどの競合他社に対して好意的に位置付けた印象的なパフォーマンスメトリックを誇っています。ラウンクの中心

Andrew Ngによる埋め込みモデルに関する新しいショートコース Andrew Ngによる埋め込みモデルに関する新しいショートコース Apr 15, 2025 am 11:32 AM

埋め込みモデルのパワーのロックを解除する:Andrew Ngの新しいコースに深く飛び込む マシンがあなたの質問を完全に正確に理解し、応答する未来を想像してください。 これはサイエンスフィクションではありません。 AIの進歩のおかげで、それはRになりつつあります

ADHDゲーム、ヘルスツール、AIチャットボットがグローバルヘルスを変える方法 ADHDゲーム、ヘルスツール、AIチャットボットがグローバルヘルスを変える方法 Apr 14, 2025 am 11:27 AM

ビデオゲームは不安を緩和したり、ADHDの子供を焦点を合わせたり、サポートしたりできますか? ヘルスケアの課題が世界的に急増しているため、特に若者の間では、イノベーターはありそうもないツールであるビデオゲームに目を向けています。現在、世界最大のエンターテイメントインダスの1つです

Rocketpyを使用したロケットの起動シミュレーションと分析-AnalyticsVidhya Rocketpyを使用したロケットの起動シミュレーションと分析-AnalyticsVidhya Apr 19, 2025 am 11:12 AM

Rocketpy:A包括的なガイドでロケット発売をシミュレートします この記事では、強力なPythonライブラリであるRocketpyを使用して、高出力ロケット発売をシミュレートすることをガイドします。 ロケットコンポーネントの定義からシミュラの分析まで、すべてをカバーします

Googleは、次の2025年にクラウドで最も包括的なエージェント戦略を発表します Googleは、次の2025年にクラウドで最も包括的なエージェント戦略を発表します Apr 15, 2025 am 11:14 AM

GoogleのAI戦略の基礎としてのGemini Geminiは、GoogleのAIエージェント戦略の基礎であり、高度なマルチモーダル機能を活用して、テキスト、画像、オーディオ、ビデオ、コード全体で応答を処理および生成します。 DeepMによって開発されました

See all articles