Dalam banyak aplikasi dunia nyata, data tidak semata-mata tekstual-ia mungkin termasuk imej, jadual, dan carta yang membantu memperkuat naratif. Penjana laporan multimodal membolehkan anda memasukkan kedua -dua teks dan imej ke dalam output akhir, menjadikan laporan anda lebih dinamik dan kaya dengan visual.
Artikel ini menggariskan bagaimana untuk membina saluran paip itu menggunakan:
- llamaindex untuk penguraian dokumen dan enjin pertanyaan,
- Model bahasa terbuka untuk analisis teks,
-
llamaparse untuk mengekstrak kedua -dua teks dan imej dari dokumen PDF, persediaan pemerhatian menggunakan - arize phoenix (melalui lbatrace) untuk pembalakan dan debugging.
Objektif Pembelajaran
- memahami cara mengintegrasikan teks dan visual untuk penjanaan laporan kewangan yang berkesan menggunakan saluran paip multimodal.
- belajar menggunakan llamaindex dan llamaparse untuk generasi laporan kewangan yang dipertingkatkan dengan output berstruktur.
- meneroka llamaparse untuk mengekstrak kedua -dua teks dan imej dari dokumen PDF dengan berkesan.
- Sediakan pemerhatian menggunakan Arize Phoenix (melalui lbatrace) untuk pembalakan dan debugging saluran paip kompleks.
- Buat enjin pertanyaan berstruktur untuk menjana laporan bahawa ringkasan teks interleave dengan elemen visual.
- Artikel ini diterbitkan sebagai sebahagian daripada Blogathon Sains Data
Jadual Kandungan Model Langkah 5: Mengurangkan dokumen dengan llamaparse Langkah 6: Teks dan Imej Bersekutu
Langkah 7: Bina Indeks Ringkasan
Ditanya soalan- Gambaran keseluruhan proses
- Membina penjana laporan multimodal melibatkan membuat saluran paip yang mengintegrasikan elemen teks dan visual dengan lancar dari dokumen kompleks seperti PDF. Proses ini bermula dengan memasang perpustakaan yang diperlukan, seperti llamaindex untuk menghuraikan dokumen dan pertanyaan orkestra, dan llamaparse untuk mengekstrak kedua -dua teks dan imej. Observability ditubuhkan menggunakan Arize Phoenix (melalui Lbatrace) untuk memantau dan debug saluran paip.
- llama-index
- llama-sarse (untuk penguraian imej teks)
- llama-index-callbacks-verize-phoenix (untuk pemerhatian/pembalakan)
-
nest_asyncio (untuk mengendalikan gelung acara async dalam buku nota)
Setelah persediaan selesai, saluran paip memproses dokumen PDF, menguraikan kandungannya ke dalam teks berstruktur dan menjadikan elemen visual seperti jadual dan carta. Unsur -unsur parsed ini kemudiannya dikaitkan, mewujudkan dataset bersatu. SummaryIndex dibina untuk membolehkan pandangan peringkat tinggi, dan enjin pertanyaan berstruktur dibangunkan untuk menghasilkan laporan yang menggabungkan analisis teks dengan visual yang relevan. Hasilnya adalah penjana laporan dinamik dan interaktif yang mengubah dokumen statik menjadi output yang kaya dan multimodal yang disesuaikan untuk pertanyaan pengguna.
Pelaksanaan langkah demi langkah
Ikuti panduan terperinci ini untuk membina penjana laporan multimodal, dari menubuhkan kebergantungan untuk menghasilkan output berstruktur dengan teks dan imej bersepadu. Setiap langkah memastikan integrasi lullamaindex, llamaparse, dan arize Phoenix untuk saluran paip yang cekap dan dinamik.
Langkah 1: Pasang dan Import Ketergantungan
anda memerlukan perpustakaan berikut yang berjalan di Python 3.9.9:
!pip install -U llama-index-callbacks-arize-phoenix import nest_asyncio nest_asyncio.apply()
Langkah 2: Sediakan pemerhatianKunci API Phoenix Phoenix boleh didapati dengan mendaftar untuk lbatrace di sini, kemudian navigasi ke panel kiri bawah dan klik pada 'Kekunci' di mana anda perlu mencari kunci API anda.
Sebagai contoh:
Langkah 3: Muatkan data - Dapatkan dek slaid andaPHOENIX_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" )
Untuk demonstrasi, kami menggunakan dek slaid pertemuan ConocoPhillips '2023. Kami memuat turun 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")
Langkah 4: Sediakan Model
Anda memerlukan model penyembuhan dan LLM. Dalam contoh ini:
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")
from llama_index.core import Settings Settings.embed_model = embed_model Settings.llm = llm
llamaparse boleh mengekstrak teks dan imej (melalui model besar multimodal). Untuk setiap halaman PDF, ia kembali:
- teks markdown
- (dengan jadual, tajuk, titik peluru, dll.) imej yang diberikan
- (disimpan secara tempatan)
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()
textNode objek (struktur data Llamaindex) untuk setiap halaman. Setiap nod mempunyai metadata mengenai nombor halaman dan laluan fail imej yang sepadan:
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" )
Langkah 7: Membina Indeks Ringkasan
dengan nod teks ini, anda boleh membuat summaryindex:
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")
Langkah 8: Tentukan skema output berstruktur
saluran paip kami bertujuan untuk menghasilkan output akhir dengan blok teks interleaved dan blok imej. Untuk itu, kami membuat model Pydantic tersuai (menggunakan pydantic v2 atau memastikan keserasian) dengan dua jenis blok-
textblock dan Titik utama: ReportOutput memerlukan sekurang -kurangnya satu blok imej, memastikan jawapan terakhir adalah multimodal. Langkah 9: Buat enjin pertanyaan berstruktur
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 membolehkan anda menggunakan "LLM berstruktur" (iaitu, llm yang outputnya secara automatik dihuraikan ke dalam skema tertentu). Inilah caranya:from llama_index.core import Settings Settings.embed_model = embed_model Settings.llm = llm
Kesimpulan
print(f"Parsing slide deck...") md_json_objs = parser.get_json_result("data/conocophillips.pdf") md_json_list = md_json_objs[0]["pages"]
Dengan menggabungkan llamaindex, llamaparse, dan openai, anda boleh membina penjana laporan multimodal yang memproses keseluruhan PDF (dengan teks, jadual, dan imej) ke dalam output berstruktur. Pendekatan ini memberikan hasil yang lebih kaya dan lebih bermaklumat -betul -betul apa yang dikehendaki oleh pihak berkepentingan untuk mendapatkan pandangan kritikal dari dokumen korporat atau teknikal yang kompleks.Jangan ragu untuk menyesuaikan saluran paip ini ke dokumen anda sendiri, tambahkan langkah pengambilan untuk arkib besar, atau mengintegrasikan model khusus domain untuk menganalisis imej yang mendasari. Dengan asas-asas yang dibentangkan di sini, anda boleh membuat laporan dinamik, interaktif, dan visual yang jauh melebihi pertanyaan berasaskan teks yang mudah. ??
print(md_json_list[10]["md"])
Terima kasih banyak kepada Jerry Liu dari Llamaindex untuk membangunkan saluran paip yang menakjubkan ini.Takeaways Key
- Transformasi PDF dengan teks dan visual ke dalam format berstruktur sambil mengekalkan integriti kandungan asal menggunakan llamaparse dan llamaindex.
- menghasilkan laporan yang diperkaya secara visual bahawa ringkasan dan imej tekstual yang sama untuk pemahaman kontekstual yang lebih baik.
- Generasi laporan kewangan dapat dipertingkatkan dengan mengintegrasikan kedua -dua teks dan elemen visual untuk output yang lebih mendalam dan dinamik.
- Memanfaatkan Llamaindex dan Llamaparse menyelaraskan proses penjanaan laporan kewangan, memastikan hasil yang tepat dan berstruktur.
- Dapatkan dokumen yang relevan sebelum memproses untuk mengoptimumkan generasi laporan untuk arkib besar.
- Meningkatkan parsing visual, menggabungkan analisis spesifik carta, dan menggabungkan model untuk pemprosesan teks dan imej untuk pandangan yang lebih mendalam.
Soalan Lazim
Q1. Apakah "Generator Laporan Multimodal"?a. Penjana laporan multimodal adalah sistem yang menghasilkan laporan yang mengandungi pelbagai jenis kandungan -terutamanya teks dan imej -dalam satu output kohesif. Dalam saluran paip ini, anda menghuraikan PDF ke dalam kedua -dua elemen teks dan visual, kemudian menggabungkannya ke dalam satu laporan akhir.
Q2. Kenapa saya perlu memasang llama-index-callbacks-verize-phoenix dan menubuhkan pemerhatian? a. Alat pemerhatian seperti Arize Phoenix (melalui Lbatrace) membolehkan anda memantau dan menghilangkan tingkah laku model, pertanyaan trek dan tindak balas, dan mengenal pasti isu -isu dalam masa nyata. Ia amat berguna apabila berurusan dengan dokumen besar atau kompleks dan beberapa langkah berasaskan LLM.Q3. Mengapa menggunakan llamaparse dan bukannya pengekstrak teks pdf standard?a. SummaryIndex adalah abstraksi llamaindex yang menganjurkan kandungan anda (mis., Halaman PDF) supaya ia dapat dengan cepat menghasilkan ringkasan yang komprehensif. Ia membantu mengumpulkan pandangan peringkat tinggi dari dokumen panjang tanpa perlu memotong mereka secara manual atau menjalankan pertanyaan pengambilan untuk setiap data.
Q5. Bagaimanakah saya memastikan laporan akhir termasuk sekurang -kurangnya satu blok imej? a. Dalam model Pydantic ReportOutput, menguatkuasakan bahawa senarai blok memerlukan sekurang -kurangnya satu ImageBlock. Ini dinyatakan dalam sistem dan skema sistem anda. LLM mesti mematuhi peraturan ini, atau ia tidak akan menghasilkan output berstruktur yang sah.
Atas ialah kandungan terperinci Penjanaan laporan kewangan multimodal menggunakan llamaindex. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undress AI Tool
Gambar buka pakaian secara percuma

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Berikut adalah sepuluh trend yang menarik yang membentuk semula landskap AI perusahaan. Komitmen kewangan untuk llmsorganizations secara signifikan meningkatkan pelaburan mereka di LLM, dengan 72% menjangkakan perbelanjaan mereka meningkat tahun ini. Pada masa ini, hampir 40% a

Pelaburan adalah berkembang pesat, tetapi modal sahaja tidak mencukupi. Dengan penilaian yang semakin meningkat dan tersendiri pudar, pelabur dalam dana usaha yang berfokus pada AI mesti membuat keputusan utama: Beli, membina, atau rakan kongsi untuk mendapatkan kelebihan? Inilah cara menilai setiap pilihan dan PR

Pendedahan: Syarikat saya, Tirias Research, telah berunding untuk IBM, NVIDIA, dan syarikat -syarikat lain yang disebutkan dalam artikel ini. Pemandu Growth Surge dalam penggunaan AI generatif lebih dramatik daripada unjuran yang paling optimis dapat diramalkan. Kemudian, a

Jurang antara penggunaan yang meluas dan kesediaan emosi mendedahkan sesuatu yang penting tentang bagaimana manusia terlibat dengan pelbagai sahabat digital mereka. Kami memasuki fasa kewujudan bersama di mana algoritma menenun ke dalam harian kami

Hari -hari itu bernombor, terima kasih kepada AI. Cari lalu lintas untuk perniagaan seperti tapak perjalanan kayak dan syarikat edtech Chegg menurun, sebahagiannya kerana 60% carian di laman web seperti Google tidak mengakibatkan pengguna mengklik sebarang pautan, menurut satu stud

Mari kita bercakap mengenainya. Analisis terobosan AI yang inovatif ini adalah sebahagian daripada liputan lajur Forbes yang berterusan pada AI terkini, termasuk mengenal pasti dan menerangkan pelbagai kerumitan AI yang memberi kesan (lihat pautan di sini). Menuju ke Agi dan

Mari kita lihat dengan lebih dekat apa yang saya dapati paling penting - dan bagaimana Cisco dapat membina usaha semasa untuk merealisasikan cita -citanya. (Nota: Cisco adalah pelanggan penasihat firma saya, Moor Insights & Strategy.) Berfokus pada AIS dan CU Agentik dan CU

Pernahkah anda cuba membina aplikasi Model Besar (LLM) anda sendiri? Pernah tertanya -tanya bagaimana orang membuat aplikasi LLM mereka sendiri untuk meningkatkan produktiviti mereka? Aplikasi LLM telah terbukti berguna dalam setiap aspek
