Azure AI 文档智能:RAG 与搜索的革新
The following article is from Azure云科技 Author Azure 云科技
在我们先前的文章《了解 Azure 文档生成式 AI》中,我们介绍了什么是文档生成式 AI,以及如何使用 Azure AI 文档智能(以前称为 Azure 表单识别器)和 Azure OpenAI 服务在多样化的企业级长篇文档中实现高效的对话式交互。
检索增强生成(RAG)是一种常用于文档生成式 AI 的设计模式。它是一种独特的架构,通过融合信息检索系统来提供数据,从而增强大型语言模型(例如 ChatGPT)的功能和效能。添加信息检索系统后,您就可以控制 LLM 在响应时使用的数据。企业文档通常冗长而复杂,尽管大型语言模型(LLM)近期已能处理更广泛的上下文信息,但要实现数据的高效存储和检索,同时提升结果的相关性与可解释性,仍然必须采用一种精准的分块策略,将内容细化为更小的章节。然而,在当前的检索增强生成(RAG)系统中,大多数分块策略仍主要依据文本长度,而非文档的结构化组织。
面对对语义分块的迫切需求,关键问题在于:如何基于语义内容而非随机分割,将庞大的文本或文档有效地细分为更小、更具意义的单元?
Azure AI 文档智能 Layout 模型通过提供先进的内容提取和文档结构分析功能,为语义分块提供了全面的解决方案。利用该模型,您可以从各种文档类型中轻松提取段落、表格、标题、章节标题、选择标记、字体/样式、键值对、数学公式、二维码/条形码等。提取的信息可轻松转换为 Markdown 格式,从而使您能够利用所提供的构建模块,精确定义和实施语义分块策略。
01
简化流程: 只需调用一次 API,您就能解析不同的文档类型,如数字和扫描 PDF、图像、办公文件(docx、xlsx、pptx)和 html。
02
可扩展性和高质量提取: 该模型借助先进的 AI 技术,在光学字符识别 (OCR)、表格提取、文档结构分析(如段落、标题、章节标题)和阅读顺序检测方面展现出卓越的可扩展性并确保了高质量的提取结果。它目前支持 309 种印刷语言和 12 种手写语言。
03
大型语言模型(LLM)兼容性:输出格式特别优化为 LLM 友好的格式,尤其是 Markdown,便于无缝地融入各类工作流程。通过将文档中的表格转换为 Markdown 格式,可以显著减少解析文档所需的工作量,进而促进 LLM 对文档内容的更深层次理解。
▲ 图 1:Layout 模型可检测文档结构并输出为 markdown。
▲ 图 2:Layout 模型可以从文档中提取表格。
Azure AI 文档智能 Studio
● 访问 Document Intelligence Studio - Microsoft Azure,选择所需的分析选项:
🔗:https://documentintelligence.ai.azure.com/studio/layout
●点击运行分析(Run analysis),查看右侧窗格中的输出和示例代码:
SDK 和 REST API
● 快速入门:文档智能 SDK – 您可以使用您喜欢的 SDK 或 REST API 从文档中提取内容和结构。
🔗:https://learn.microsoft.com/en-us/azure/ai-services/document-intelligence/quickstarts/get-started-sdks-rest-api?view=doc-intel-4.0.0&pivots=programming-language-csharp
● 使用 Layout API 以 Markdown 格式输出的示例代码。
🔗:https://aka.ms/layout-md-sample
使用语义分块构建“与你的文档对话”功能
以下指导手册展示了在 LangChain 中使用 Azure AI 文档智能作为文档加载器和 Azure AI 搜索作为检索器的 RAG 模式的简单演示。
🔗:https://github.com/microsoft/Form-Recognizer-Toolkit/blob/main/SampleCode/Python/sample_rag_langchain.ipynb
以下解决方案加速器展示了一个全流程的基础 RAG(检索增强生成)模式示例。在这一示例中,我们采用 Azure AI 搜索作为检索工具,并利用 Azure AI 文档智能来实现文档的加载及其语义分块处理。
🔗:https://github.com/Azure-Samples/chat-with-your-data-solution-accelerator
更多资源
👇🏻 复制链接至浏览器打开
[1] Azure AI 文档智能官方介绍
https://learn.microsoft.com/zh-cn/azure/ai-services/document-intelligence/overview?view=doc-intel-4.0.0&viewFallbackFrom=doc-intel-4.0.0%22%20%5Ct%20%22_blank%22HYPERLINK%20%22https%3A%2F%2Flearn.microsoft.com%2Fen-us%2Fazure%2Fai-services%2Fdocument-intelligence%2Foverview%3Fview%3Ddoc-intel-4.0.0%22%20%5Ct%20%22_blank
[2] Azure AI 文档智能示例代码库
https://github.com/microsoft/Form-Recognizer-Toolkit/tree/main/SampleCode
[3] Azure OpenAI service on your data
https://learn.microsoft.com/zh-cn/azure/ai-services/openai/concepts/use-your-data?tabs=ai-search%22%20%5Ct%20%22_blank%22HYPERLINK%20%22https%3A%2F%2Flearn.microsoft.com%2Fen-us%2Fazure%2Fai-services%2Fopenai%2Fconcepts%2Fuse-your-data%3Ftabs%3Dai-search%22%20%5Ct%20%22_blank
[4] 检索增强生成(RAG)示例代码库
https://github.com/microsoft/sample-app-aoai-chatGPT