使用LlamainDex的多模式財務報告生成
在許多現實世界應用中,數據並不純粹是文本的,其中可能包括圖像,表和圖表,這些圖表和圖表有助於加強敘述。多模式報告生成器允許您將文本和圖像同時合併到最終輸出中,從而使您的報告更具動態性和視覺上的豐富。
本文概述瞭如何使用以下方式構建這樣的管道
- > llamaindex
- 用於編排文檔解析和查詢引擎, openai
- 文本分析的語言模型, llamaparse
- 從pdf文檔中提取文本和圖像, >使用 a arize phoenix的可觀察性設置(通過llamaTrace)
- 進行記錄和調試。 最終結果是可以處理整個PDF幻燈片甲板(包括文本和視覺效果)的管道,並生成包含文本和圖像的結構化報告。
學習目標
了解如何使用多模式管道整合有效的財務報告生成文本和視覺效果。
- 學習利用Llamaindex和Llamaparse來增強結構化產出的財務報告。 探索llamaparse,以有效地從PDF文檔中提取文本和圖像。
- >使用Arize Phoenix(通過LlamaTrace)來設置可觀察性,以記錄和調試複雜管道。
- 創建一個結構化查詢引擎,以生成與視覺元素相互交織的報告。
- >本文是
> > data Science Blogathon的一部分。 目錄的>>
概述該過程的概述
- >
- >逐步實現
-
- 步驟1:安裝和導入依賴關係
- 步驟2:設置可觀察性> 步驟3:加載數據 - 加載您的slide can
- 進行解析,步驟6:關聯文本和圖像
- > >步驟7:構建摘要索引索引
- 步驟8:定義結構化的輸出架構
設置🎜 5:用Llamaparse - 構建多模式報告生成器涉及創建一條管道,該管道無縫地集成了來自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(處理筆記本中的異步事件循環)
>步驟2:設置可觀察性!pip install -U llama-index-callbacks-arize-phoenix import nest_asyncio nest_asyncio.apply()
登入後複製登入後複製步驟3:加載數據 - 獲取幻燈片甲板
進行示範,我們使用Conocophillips的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:設置模型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:用llamaparsefrom 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頁面,它返回:
markdown Textfrom llama_index.core import Settings Settings.embed_model = embed_model Settings.llm = llm
登入後複製登入後複製(帶錶,標題,子彈點等)
- 渲染圖像
- (本地保存)>
print(f"Parsing slide deck...") md_json_objs = parser.get_json_result("data/conocophillips.pdf") md_json_list = md_json_objs[0]["pages"]
登入後複製登入後複製print(md_json_list[10]["md"])
登入後複製登入後複製!pip install -U llama-index-callbacks-arize-phoenix import nest_asyncio nest_asyncio.apply()
登入後複製登入後複製>步驟6:關聯文本和圖像
>我們為每個頁面創建一個>> textnode
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" )
登入後複製登入後複製>步驟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")
登入後複製登入後複製和> imageBlock - 和一個父母模型 關鍵點:
reportOutputfrom 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
登入後複製登入後複製print(f"Parsing slide deck...") md_json_objs = parser.get_json_result("data/conocophillips.pdf") md_json_list = md_json_objs[0]["pages"]
登入後複製登入後複製print(md_json_list[10]["md"])
登入後複製登入後複製結論
>可以隨意將此管道適應您自己的文檔,為大型檔案添加檢索步驟,或集成特定領域的模型以分析基礎圖像。在這裡鋪設的基礎,您可以創建動態,互動和視覺上豐富的報告,這些報告遠遠超出了簡單的基於文本的查詢。
非常感謝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中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

在從事代理AI時,開發人員經常發現自己在速度,靈活性和資源效率之間進行權衡。我一直在探索代理AI框架,並遇到了Agno(以前是Phi-

SQL的Alter表語句:動態地將列添加到數據庫 在數據管理中,SQL的適應性至關重要。 需要即時調整數據庫結構嗎? Alter表語句是您的解決方案。本指南的詳細信息添加了Colu

該版本包括三種不同的型號,GPT-4.1,GPT-4.1 MINI和GPT-4.1 NANO,標誌著向大語言模型景觀內的特定任務優化邁進。這些模型並未立即替換諸如

陷入困境的基準:駱駝案例研究 2025年4月上旬,梅塔(Meta)揭開了其Llama 4套件的模特,擁有令人印象深刻的性能指標,使他們對GPT-4O和Claude 3.5 Sonnet等競爭對手的良好定位。倫斯的中心

解鎖嵌入模型的力量:深入研究安德魯·NG的新課程 想像一個未來,機器可以完全準確地理解和回答您的問題。 這不是科幻小說;多虧了AI的進步,它已成為R

視頻遊戲可以緩解焦慮,建立焦點或支持多動症的孩子嗎? 隨著醫療保健在全球範圍內挑戰,尤其是在青年中的挑戰,創新者正在轉向一種不太可能的工具:視頻遊戲。現在是世界上最大的娛樂印度河之一

模擬火箭發射的火箭發射:綜合指南 本文指導您使用強大的Python庫Rocketpy模擬高功率火箭發射。 我們將介紹從定義火箭組件到分析模擬的所有內容

雙子座是Google AI策略的基礎 雙子座是Google AI代理策略的基石,它利用其先進的多模式功能來處理和生成跨文本,圖像,音頻,視頻和代碼的響應。由DeepM開發
