注意:

使用 OCI Generative AI 以自然语言分析 PDF 文档

简介

Oracle Cloud Infrastructure Generative AI (OCI Generative AI) 是一个先进的生成式人工智能解决方案,可帮助企业和开发人员使用先进的语言模型创建智能应用。此解决方案基于大型语言模型 (LLM) 等强大技术,可实现复杂任务的自动化,使流程更快、更高效,并可通过自然语言交互进行访问。

OCI Generative AI 的影响最大的应用之一是 PDF 文档分析。公司经常处理大量文件,如合同、财务报告、技术手册和研究论文。手动搜索这些文件中的信息可能非常耗时且容易出错。

通过使用生成式人工智能,可以即时、准确地提取信息,让用户只需用自然语言提出问题即可查询复杂的文档。这意味着,用户不必阅读整个页面来查找合同中的特定条款或报表中的相关数据点,而只需询问模型,该模型可以根据分析的内容快速返回答案。

除了信息检索之外,OCI Generative AI 还可用于汇总冗长的文档、比较内容、对信息进行分类,甚至生成战略洞察。这些功能使该技术对法律、财务、医疗保健和工程等各个领域至关重要,有助于优化决策和提高生产力。

通过将此技术与 Oracle AI 服务、OCI 数据科学和用于文档处理的 API 等工具相集成,企业可以构建智能解决方案,全面转变与数据的交互方式,从而更快、更有效地检索信息。

Prerequisites

任务 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 个选项来处理文档。您可以思考:

因此,您可以选择以下选项:

固定大小分块:这是处理文档的更快替代方法。这足以得到你想要的东西。

Semantic Chunking(语义分块):此过程将比固定大小的分块慢,但它将提供更高质量的分块。

Semantic Chunking with 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 DatabaseGraph 功能,这些功能提供:

通过将 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"

注意:--device--gpu_name 参数可用于在 Python 中加速处理,如果您的计算机具有 GPU,则使用 GPU。考虑一下,此代码也可以与本地模型一起使用。

提供的上下文区分了 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 帮助中心