首頁 > 科技週邊 > 人工智慧 > 使用LlamainDex的多模式財務報告生成

使用LlamainDex的多模式財務報告生成

尊渡假赌尊渡假赌尊渡假赌
發布: 2025-03-09 12:45:12
原創
149 人瀏覽過

在許多現實世界應用中,數據並不純粹是文本的,其中可能包括圖像,表和圖表,這些圖表和圖表有助於加強敘述。多模式報告生成器允許您將文本和圖像同時合併到最終輸出中,從而使您的報告更具動態性和視覺上的豐富。

本文概述瞭如何使用以下方式構建這樣的管道

    > llamaindex
  • 用於編排文檔解析和查詢引擎,
  • openai
  • 文本分析的語言模型,
  • llamaparse
  • 從pdf文檔中提取文本和圖像, >使用
  • a arize phoenix的可觀察性設置(通過llamaTrace)
  • 進行記錄和調試。
  • 最終結果是可以處理整個PDF幻燈片甲板(包括文本和視覺效果)的管道,並生成包含文本和圖像的結構化報告。
>

學習目標

了解如何使用多模式管道整合有效的財務報告生成文本和視覺效果。
  • 學習利用Llamaindex和Llamaparse來增強結構化產出的財務報告。
  • 探索llamaparse,以有效地從PDF文檔中提取文本和圖像。
  • >使用Arize Phoenix(通過LlamaTrace)來設置可觀察性,以記錄和調試複雜管道。
  • 創建一個結構化查詢引擎,以生成與視覺元素相互交織的報告。
  • >本文是

> > data Science Blogathon的一部分。 目錄的>>

概述該過程的概述

    >
  • >逐步實現
    • 步驟1:安裝和導入依賴關係
    • 步驟2:設置可觀察性>
    • 步驟3:加載數據 - 加載您的slide can 設置🎜 5:用Llamaparse
    • 進行解析,步驟6:關聯文本和圖像
    • >
    • >步驟7:構建摘要索引索引
    • 步驟8:定義結構化的輸出架構
    >該過程的概述
  • 構建多模式報告生成器涉及創建一條管道,該管道無縫地集成了來自PDF等複雜文檔的文本和視覺元素。該過程始於安裝必要的庫,例如用於文檔解析和查詢編排的LlamainDex,以及用於提取文本和圖像的Llamaparse。使用Arize Phoenix(通過Llamatrace)來監視和調試管道。

    >設置完成後,管道將處理PDF文檔,將其內容解析到結構化文本中,並渲染諸如表和圖表之類的視覺元素。然後關聯了這些解析的元素,創建一個統一的數據集。構建了一個摘要,以啟用高級見解,並開發了結構化的查詢引擎,以生成將文本分析與相關視覺效果融合的報告。結果是一個動態和交互式報告生成器,該生成器將靜態文檔轉換為用於用戶查詢的豐富的多模式輸出。

    >

    >逐步實現

    >按照本詳細指南構建多模式報告生成器,從設置依賴項到使用集成的文本和圖像生成結構化輸出。每個步驟都確保Llamaindex,Llamaparse和Arize Phoenix的無縫整合,以進行有效而動態的管道。

    步驟1:安裝和導入依賴項

    >

    您需要在Python 3.9.9上運行的以下庫:>

    • llama-index
    • llama-parse (用於文本圖像解析)>
    • llama-index-callbacks-arize-phoenix(用於可觀察性/登錄)
    • > nest_asyncio(處理筆記本中的異步事件循環)
    !pip install -U llama-index-callbacks-arize-phoenix
    
    import nest_asyncio
    
    nest_asyncio.apply()
    登入後複製
    登入後複製
    >步驟2:設置可觀察性

    我們與LlamaTrace - Llamacloud API(Arize Phoenix)集成。首先,從llamatrace.com獲取API鍵,然後設置環境變量以將痕跡發送到鳳凰。 可以通過在此處註冊Llamatrace,然後導航到左下面板,然後單擊“鍵”,在此處找到API鍵。

    例如:

    步驟3:加載數據 - 獲取幻燈片甲板

    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"
    )
    登入後複製
    登入後複製
    進行示範,我們使用Conocophillips的2023年投資者會議幻燈片。我們下載了PDF:

    >檢查PDF幻燈片是否在數據文件夾中,如果不將其放在數據文件夾中並按照您的要求命名。

    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")
    登入後複製
    登入後複製
    >步驟4:設置模型

    >您需要嵌入模型和LLM。在此示例中:

    接下來,您將其註冊為LlamainDex的默認值:>

    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")
    登入後複製
    步驟5:用llamaparse

    解析文件 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:構建摘要索引

    手裡拿著這些文本節點,您可以創建一個摘要:

    摘要確保您可以輕鬆地檢索或生成整個文檔上的高級摘要。
    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")
    登入後複製
    登入後複製
    >步驟8:定義結構化輸出模式

    我們的管道旨在產生帶有交織的文本塊和圖像塊的最終輸出。為此,我們創建了一種自定義的pydantic模型(使用Pydantic V2或確保兼容性),具有兩種塊類型-e

    textblock

    > imageBlock - 和一個父母模型 關鍵點:

    reportOutput 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")

    需要至少一個圖像塊,確保最終答案是多模式的。 > >步驟9:創建一個結構化查詢引擎 LlamainDex llamaindex允許您使用“結構化的LLM”(即,將輸出自動解析為特定模式的LLM)。以下是:

    from llama_index.core import Settings
    Settings.embed_model = embed_model
    Settings.llm = llm
    登入後複製
    登入後複製

    使用LlamainDex的多模式財務報告生成

    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"])
    登入後複製
    登入後複製

    使用LlamainDex的多模式財務報告生成結論

    通過將LlamainDex,Llamaparse和OpenAI結合使用,您可以構建一個多模式報告生成器,該報表生成器將整個PDF(帶有文本,表格和圖像)處理到結構化輸出中。這種方法可提供更豐富,更具視覺上信息的結果,這是利益相關者需要從復雜的公司或技術文檔中獲得關鍵見解的哪些。

    >可以隨意將此管道適應您自己的文檔,為大型檔案添加檢索步驟,或集成特定領域的模型以分析基礎圖像。在這裡鋪設的基礎,您可以創建動態,互動和視覺上豐富的報告,這些報告遠遠超出了簡單的基於文本的查詢。 使用LlamainDex的多模式財務報告生成非常感謝Llamaindex的Jerry Liu開發了這款驚人的管道。

    鑰匙要點

    • >使用文本和視覺效果將PDF轉換為結構化格式,同時使用Llamaparse和Llamaindex保留原始內容的完整性。
    • 生成視覺豐富的報告,這些報告與文本摘要和圖像相互交織,以更好地理解。
    • 通過整合文本和視覺元素以獲得更具洞察力和動態的輸出,可以增強財務報告的生成。 > 利用Llamaindex和Llamaparse的利用,簡化了財務報告的過程,確保了準確且結構化的結果。
    • 在處理之前檢索相關文檔,以優化大型檔案的報告生成。
    • 改善視覺解析,結合特定圖表的分析,並結合文本和圖像處理的模型,以進行更深入的見解。
    • 常見問題
    • > Q1。什麼是“多模式報告生成器”?多模式報告生成器是一個系統,該系統在一個有凝聚力的輸出中生成包含多種類型的內容(主要文本和圖像)的報告。在此管道中,您將PDF解析為文本和視覺元素,然後將它們組合成一個最終報告。為什麼我需要安裝Llama-index-callbacks-arize-phoenix並設置可觀察性?諸如Arize Phoenix(通過Llamatrace)之類的可觀察性工具可讓您監視和調試模型行為,跟踪查詢和響應,並實時確定問題。在處理大型或複雜文檔和多個基於LLM的步驟時,這一點尤其有用。為什麼要使用Llamaparse而不是標準的PDF文本提取器? 大多數PDF文本提取器僅處理原始文本,通常會丟失格式,圖像和表格。 Llamaparse能夠提取文本和圖像(渲染的頁面圖像),這對於構建多模式管道至關重要,您需要在其中引用表,圖表或其他視覺效果。使用summaryIndex的優點是什麼? SummaryIndex是LlamainDex抽象,它組織您的內容(例如PDF的頁面),因此它可以快速生成全面的摘要。它有助於從長文檔中收集高級見解,而無需手動塊或為每個數據運行檢索查詢。我如何確保最終報告至少包含一個圖像塊?
    • a。在ReportOutput Pydantic模型中,強制執行塊列表至少需要一個ImageBlock。這在您的系統提示和架構中說明了這一點。 LLM必須遵循這些規則,或者不會產生有效的結構化輸出。

    >本文所示的媒體不歸Analytics Vidhya擁有,並由作者的酌情決定使用。

以上是使用LlamainDex的多模式財務報告生成的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板