申请Azure OpenAI绿色通道
→记得评论私信~
想象一下“与文档聊天”,从中生成引人入胜的内容,并借助您自己的数据体验 Azure OpenAI 模型的强大功能。这就是 Azure AI 文档智能(前身为 Azure 表单识别器)和 Azure OpenAI 服务的突破性解决方案——文档生成式 AI 可以为您实现的功能。
在企业应用程序中,我们最常听到的问题是:“我怎样才能建立一个像 ChatGPT 这样可以读取我的文档,并以我的文档为基础进行回复的系统?
文档生成式 AI(Document Generative AI)由 Azure AI 文档智能(Azure AI Document Intelligence)和 Azure OpenAI 服务支持,是一种开创性的解决方案,可帮助您充分发掘文档的全部价值,并利用大规模生成式 AI 模型能力解锁全新的场景。这一创新解决方案具有一系列优势,使您能够:
01
使用自然语言与文档进行无缝交互,让您轻松找到答案并获得洞见。
02
从现有文档中轻松生成引人入胜的新内容,包括博客文章、新闻通讯、摘要和吸引人的标题。
通过采用文档生成式 AI,您可以节省宝贵的时间、降低成本、提高准确性,并在文档工作流程方面发挥创造力。无论您需要的是智能文档聊天功能、写作帮助、查询支持、综合搜索功能,甚至是文档翻译,文档生成式 AI 都能通过利用 OpenAI 最先进的 AI 模型,出色地处理复杂多样的文档任务。
拥抱文档处理的未来,使用文档生成式 AI(Document Generative AI)将您的企业数据提升到新的高度,这一尖端解决方案将彻底改变您处理文档的方式。
本文将介绍如何从文档中提取信息,以便在带有表格的各种文档(扫描 PDF、数字化 PDF、图像、办公文档)和超过 OpenAI 提示长度限制的长文档上进行聊天。我们的目标是为您提供必要的工具,让您可以使用 Azure OpenAI 模型和 Azure AI 服务构建由 ChatGPT 赋能的应用程序。
与文档聊天有几大挑战 ——
挑战 1
不同的文件格式
文档类型: 扫描 PDF、数字化 PDF、图像和办公文档等多种文档类型因格式不同而各有挑战。从每种类型的文档中提取信息都需要专门的技术和工具,以处理数据结构和内容呈现等方面的差异。
光学字符识别 (OCR) 的准确性:OCR 在从扫描文档和图像中提取文本方面起着至关重要的作用。然而,OCR 的准确性会因文档质量、字体样式和语言复杂性等因素而不尽相同。处理 OCR 错误并确保准确的文本提取对于可靠的文档智能至关重要。
信息提取:不同的文档类型包含不同类型的信息,如文本、表格、图像和元数据。有效提取和组织这些信息需要复杂的算法和技术来解析和理解文档结构。确保准确提取相关信息对于进行有意义的聊天互动至关重要。
挑战 2
长文档处理
OpenAI 提示符长度:OpenAI 模型对输入提示有最大长度的限制。长文档通常会超过这一限制,这就给一次性将整个文档输入模型带来了挑战。在不丢失上下文的情况下,将冗长的文档分解成易于管理的章节对于有效的聊天互动至关重要。
语境保存:长文档中所包含的上下文信息,有助于大语言模型准确理解文章内容并进行有意义的对话。然而,由于提示长度的限制,一般在与模型交互时很难保留文档的完整上下文。在整个对话过程中保持必要的上下文对于确保连贯和相关的回复至关重要。
高效处理: 实时处理大型文档需要大量的计算资源和时间。必须使用高效的算法和技术来对文档进行分块处理,以优化资源使用并减少时延。平衡处理效率和准确性是实现与长文档流畅聊天互动的关键。
利用 Azure AI 文档智能、Azure AI 搜索以及 Azure OpenAI 模型可以提供有效的解决方案,以应对上述不同类型文档和长文档处理在文档聊天等应用中的挑战。
通过结合 Azure AI 文档智能的 OCR 和布局提取功能、文档解析技术以及智能分块算法,可以克服格式变化,确保信息提取准确,并高效处理长文档。这样,您就可以创建基于聊天的应用程序,处理各种类型的文档,并与冗长的文档进行无缝交互,提取有价值的见解,实现有意义的对话。
您可以通过以下解决方案和服务使用 Azure AI 文档智能将文档注入 Azure AI 搜索:
方案 1
Azure OpenAI on your data
Azure OpenAI on your data使您能够在自己的数据上无需训练或微调模型,便能够运行诸如 GPT-35-Turbo、GPT-4 等聊天模型。您可以使用 Azure AI 文档智能将文档输入 Azure AI 搜索。如果您的文档包括 PDF(扫描或数字化 PDF、图像png、jpg、tiff 等格式),您需要从这些文档中提取信息。
https://github.com/microsoft/sample-app-aoai-chatGPT/tree/main/scripts
请参阅以上数据准备脚本🔗,它将使用 Azure AI 文档智能的 Layout 模型从文档中提取所有信息。它还将提取表格信息,并保留文档中的格式信息,如标题和小标题,这将使引文更具可读性。
python data_preparation.py --config config.json --njobs=4 --form-rec-resource <form-rec-resource-name> --form-rec-key <form-rec-key> --form-rec-use-layout
方案 2
在Azure上应用ChatGPT + 企业数据
https://github.com/Azure-Samples/azure-search-openai-demo/
以上 github 示例🔗演示了使用检索增强生成( Retrieval Augmented Generation )模式在自己的数据上创建类似 ChatGPT 体验的几种方法。它使用 Azure OpenAI 服务访问 ChatGPT 模型(gpt-35-turbo),并使用 Azure AI 搜索进行数据索引和检索。您可以使用 Azure AI 文档智能将数据输入 Azure AI 搜索,以从 PDF 文档和图片中提取信息,请参见示例脚本🔗:
https://github.com/Azure-Samples/azure-search-openai-demo/commit/6ac7c909c02d760bafd5e5e838fa8c2a46dd4aaf
通过使用文档生成式智能,您现在可以与文档聊天。例如,利用 Azure AI 文档智能 Layout 模型抽取文档内容并保留表格及文档布局,并使用 Azure OpenAI on your data 与发票、合同和工作说明书(SOW)等进行聊天。
Adventure Works 的财务经理正在检查最新发票。他发现 Contoso 的最新发票金额相当高(6.5 千美元)。在检查细列项目后,他发现其中有5千美元来自虚拟主机费。他找到了相应的 PO 和 SOW 以检查金额是否匹配,并想知道是谁签署了如此昂贵的合同,结果发现是公司的首席执行官。
💬 github 示例应用程序中的聊天示例:
💬 基于 Azure OpenAI on your data 的 web 应用聊天示例:
💬 在 Azure OpenAI studio 中使用 Azure OpenAI on your data 的示例:
现在您可以与表格聊天,了解表格和细列项目,发掘隐藏在文档中的信息。您还可以通过查看引用来验证回复是否可信。回复中的每句话都包含一个引文,并带有指向源内容的链接。您可以查看引用的上下文(上标数字)以及底部的链接。当您点击其中一个链接时,我们会显示原始内容,以便用户查看。
在这篇博文中,我们重点介绍了采用 Azure AI 文档智能进行文档抽取、Azure OpenAI 中的 ChatGPT 大语言模型以及 Azure AI 搜索作为知识库和检索系统的文档对话和问题解答场景。结合这些服务,您还可以应用在更多的场景和用例中,以改进您的工作流,提高工作效率:
1
发票处理:您可以使用我们的解决方案自动提取发票中的关键信息,如供应商名称、发票号码、日期、金额等,并为您的会计系统生成付款请求或摘要。
2
报告生成: 您可以使用我们的解决方案,根据文档数据自动生成新内容,如图表、图形、表格、摘要等,并为您的利益相关者创建专业的报告。
3
文件分类: 您可以使用我们的解决方案,根据合同、提案、简历等文档的内容和布局,自动将其分为不同类别,并进行整理,以便于检索和管理。
4
文档问答: 您可以使用我们的解决方案,使用类似聊天的界面,用自然语言自动回答有关文档的问题。例如,您可以询问“这份文档的作者是谁?”或 “这份报告的主要结论是什么?”,我们的解决方案会立即为您解答。
您现在就可以通过 Azure OpenAI on your data 服务或 GitHub 代码库的示例代码开始并尝试使用。这些解决方案都包括本博文中展示的完整用户体验,我们计划不断扩展我们的服务和代码库,以覆盖更多的应用场景。
将大型语言模型与文档生成式 AI 解决方案相结合所带来的潜在改进和创新应用场景令人极为期待。我们期待看到您使用 Azure OpenAI、Azure AI Document Intelligence 和 Azure AI Search 构建出更多场景。
⇲ Azure OpenAI on your data
https://learn.microsoft.com/en-us/azure/ai-services/openai/use-your-data-quickstart?tabs=command-line%2Cpython&pivots=programming-language-studio
⇲ GitHub 代码库的示例代码
https://github.com/Azure-Samples/azure-search-openai-demo/