附註:

使用 OCI Generative AI 以自然語言分析 PDF 文件

簡介

Oracle Cloud Infrastructure Generative AI (OCI Generative AI) 是先進的生成式人工智慧解決方案,可讓公司和開發人員使用先進的語言模型建立智慧型應用程式。此解決方案以大型語言模型 (LLM) 等強大的技術為基礎,可自動化複雜的工作,讓流程更快、更有效率,並可透過自然語言互動存取。

OCI Generative AI 的其中一個最具影響力的應用程式正在進行 PDF 文件分析。公司經常處理大量文件,例如合約、財務報告、技術手冊和研究論文。在這些檔案中手動搜尋資訊可能相當耗時,而且容易發生錯誤。

藉由使用生成式人工智慧,可以即時且準確地擷取資訊,讓使用者只需以自然語言提出問題即可查詢複雜的文件。這表示使用者只要詢問模型,即可根據分析的內容快速傳回答案,而不必讀取整個頁面來尋找合約中的特定條款或報表中的相關資料點。

除了資訊擷取之外,OCI Generative AI 還可用於總結冗長的文件、比較內容、分類資訊,甚至產生策略洞察分析。這些功能讓法律、財務、醫療照護和工程等各個領域的技術變得至關重要,從而最佳化決策並提高生產力。

透過將此技術與 Oracle AI 服務、OCI 資料科學和文件處理 API 等工具整合,企業可以建立完全改變與資料互動方式的智慧解決方案,從而更快、更有效率地擷取資訊。

必備條件

作業 1:安裝 Python 套裝軟體

Python 程式碼需要使用 OCI Generative AI 的特定程式庫。執行下列指令以安裝必要的 Python 套裝軟體。

pip install -r requirements.txt

工作 2:瞭解 Python 程式碼

這是用於查詢 Oracle SOA Suite 和 Oracle Integration 功能的 OCI Generative AI 示範。這兩種工具目前都用於混合式整合策略,這表示它們在雲端和內部部署環境中運作。

由於這些工具共用功能與處理程序,因此此代碼有助於瞭解如何在每個工具中實施相同的整合方法。此外,它可讓使用者探索通用特性和差異。

從這裡下載 Python 程式碼:

您可以在此處找到 PDF 文件:

建立名為 Manuals 的資料夾,並將這些 PDF 移至該處。

現在,您可以選擇 3 個選項來處理文件。您可以考慮:

因此,您有下列選項:

固定大小分區:這是處理文件的較快速替代方案。這足以讓您取得想要的內容。

語意分區:此流程會比固定大小的分區慢,但會傳遞更多品質的分區。

使用 GraphRAG 的語意分區:它會提供更精確的方法,因為它會組織分區文字和知識圖表。

固定大小分區

請從此處下載程式碼:oci_genai_llm_context_fast.py

語意分區

請從此處下載程式碼:oci_genai_llm_context.py

使用 GraphRAG 進行語意分區

請從此處下載程式碼:oci_genai_llm_graphrag.py

GraphRAG (Graph-Augmented Retrieval-Augmented Generation) 是一種先進的 AI 架構,將傳統向量型擷取與結構化知識圖形相結合。在標準 RAG 管線中,語言模型會使用向量資料庫 (例如 FAISS) 的語意相似度來擷取相關文件區塊。然而,以向量為基礎的檢索以非結構化方式運作,完全依賴內嵌和距離指標,有時候會錯過更深的內容或關聯意義。

GraphRAG 透過引入知識圖表層來增強此流程,其中實體、概念、元件及其關係會明確表示為節點與邊緣。這個以圖形為基礎的 context 可讓語言模型推斷僅向量相似性無法擷取的關係、階層和相依性。

注意:

Neo4j 用法:

此實作使用 Neo4j 作為用於示範和原型設計的嵌入式知識圖資料庫。雖然 Neo4j 是功能強大且彈性的圖表資料庫,適合開發、測試及中小型工作負載,但可能不符合企業級、關鍵任務或高度安全的工作負載需求,特別是在需要高可用性、擴展性及進階安全規範的環境中。

對於生產環境和企業情境,我們建議利用 Oracle Database圖表功能,提供:

透過使用 Oracle Database 進行圖形工作負載,企業可以在單一、安全且可擴展的企業平台內統一結構化、半結構化和圖形資料。

作業 3:執行 Oracle Integration 與 Oracle SOA Suite 內容的查詢

執行下列命令。

FOR FIXED CHUNKING TECHNIQUE (MORE FASTER METHOD)
python oci_genai_llm_context_fast.py --device="mps" --gpu_name="M2Max GPU 32 Cores"
FOR SEMANTIC CHUNKING TECHNIQUE
python oci_genai_llm_context.py --device="mps" --gpu_name="M2Max GPU 32 Cores"
FOR SEMANTIC CHUNKING COMBINED WITH GRAPHRAG TECHNIQUE
python oci_genai_llm_graphrag.py --device="mps" --gpu_name="M2Max GPU 32 Cores"

備註:如果您的機器具有 GPU,您可以使用 --device--gpu_name 參數來加速 Python 中的處理。請考慮此代碼也可以與本機模型搭配使用。

提供的相關資訊環境區分了 Oracle SOA Suite 和 Oracle Integration,您可以考慮下列幾點來測試程式碼:

我們可以定義下列環境定義,這有助於正確解譯文件。

img_7.png

下圖顯示 Oracle SOA Suite 與 Oracle Integration 之間的比較範例。

img.png

接下來的步驟

此程式碼示範 OCI Generative AI 的應用程式,以進行智慧型 PDF 分析。它可讓使用者使用語意搜尋和生成式 AI 模型,有效率地查詢大量文件,以產生準確的自然語言回應。

此方法可應用於各種領域,例如法律、合規性、技術支援和學術研究,讓資訊更快、更聰明。

確認

其他學習資源

docs.oracle.com/learn 上探索其他實驗室,或在 Oracle Learning YouTube 頻道上存取更多免費學習內容。此外,請造訪 education.oracle.com/learning-explorer 以成為 Oracle Learning Explorer。

如需產品文件,請造訪 Oracle Help Center