【AI智能体】Dify 搭建业务单据差异核对助手实战详解

目录

一、前言

二、Dify介绍

2.1 Dify 是什么

2.2 Dify 核心特性

2.2.1 Dify特点

2.2.2 Dify 多模型支持

2.2.3 Dify 适应场景

2.2.4 基于Dify 搭建发票识别应用优势

三、Dify 搭建业务单据核对助手实战过程

3.1 前置准备

3.1.1 安装必要的插件

3.2 完整操作步骤

3.2.1 创建一个应用

3.2.2 开始节点增加一个参数

3.2.3 增加第一个大模型节点

3.2.4 增加第二个大模型节点

3.2.5 增加第三个大模型节点

3.2.6 配置结束节点

3.2.7 效果验证

四、写在文末


一、前言

随着AI智能体在很多领域使用的越来越广泛,并逐渐产生商业价值之后。人们惊讶的发现,一个可以实现商用的业务系统或应用,只需短短几天,甚至几小时就可以做出来。有个传统业务系统开发经验的同学应该了解,开发一个功能,从产品经理识别需求到最终开发完成上线使用,这个过程是很长的,而且中间可能还涉及到来来回回的反复沟通,会拉长业务最终交付和使用的时间。比如像票据核对这种工作,往往是需要人工参与校对的,比较大程度上需要依赖人力去完成。有了AI大模型+AI智能体之后,即便不是开发工程师,也能基于AI智能体平台,快速搭建一个简单的AI应用来验证效果,从而快速实现业务价值的验证。本篇以Dify智能体平台为例进行说明,使用Dify快速搭建一个业务单据自动核对智能助手应用。

二、Dify介绍

2.1 Dify 是什么

Dify 是一个开源大模型应用开发平台,旨在帮助开发者(智能体应用爱好者)快速构建、部署和管理基于大型语言模型(LLM)的 AI 应用。它提供了一套完整的工具链,支持从提示词工程(Prompt Engineering)到应用发布的全流程,适用于企业级 AI 解决方案和个人开发者项目。

官网入口:Dify: Production-Ready AI Agent Builder

中文站入口:Dify:企业级 AI Agent 开发平台

2.2 Dify 核心特性

2.2.1 Dify特点

Dify 具备如下核心特点:

  • 可视化编排工作流

    • 通过低代码界面设计 AI 应用流程,无需深入编程即可构建复杂的 LLM 应用。

    • 支持 对话型(Chat App) 和 文本生成型(Completion App) 应用。

  • 多模型支持

    • 兼容主流大模型 API,如 OpenAI GPT、Anthropic Claude、Cohere、Hugging Face 等。

    • 支持私有化部署的 Llama 2、ChatGLM、通义千问 等开源模型。

  • 灵活的提示词工程

    • 提供 Prompt 模板、变量插值、上下文管理等功能,优化 AI 输出效果。

    • 支持 RAG(检索增强生成),可结合外部知识库提升回答准确性。

  • 数据管理与持续优化

    • 记录用户与 AI 的交互日志,用于分析和迭代改进模型效果。

    • 支持 A/B 测试,对比不同提示词或模型版本的表现。

  • 企业级功能

    • 支持 多租户、权限管理,适合团队协作开发。

    • 可私有化部署,保障数据安全。

2.2.2 Dify 多模型支持

在dify控制台,内置了非常多大模型可供用户选择使用,比如GPT系列,DeepSeek模型、千问系列模型等,基于这些模型,应用开发者可以自由灵活的选择并使用。

2.2.3 Dify 适应场景

Dify 适用于多种生成式 AI 应用开发场景:

  • 内容创作与生成

    • 自动化生成文章、报告、营销文案等

    • 结合知识库实现专业领域内容生成(如法律、医疗文档)

  • 智能对话系统

    • 构建多轮对话客服机器人、虚拟助手

    • 通过 Agent 框架实现任务分解与工具调用(如搜索、图像生成)

  • 数据分析与自动化

    • 解读复杂数据并生成可视化报告

    • 自动化业务流程(如工单处理、邮件回复)

  • 个性化推荐与营销

    • 基于用户画像生成个性化推荐内容。

    • 结合RAG实现精准信息检索与推送。

2.2.4 基于Dify 搭建发票识别应用优势

Dify作为领先的AI应用开发平台,为零代码/低代码构建发票识别应用提供了强大支持。Dify通过可视化工作流编排和多模型集成能力,使开发者无需编写复杂代码即可构建专业级发票处理应用。

1)Dify构建的发票识别应用为企业解决了以下痛点:

  1. 效率瓶颈:传统人工录入方式处理一张发票平均需3-5分钟,而AI方案可缩短至秒级2

  2. 错误率高:手工录入错误率约2-5%,AI识别准确率可达99%以上17

  3. 版式适应差:传统OCR依赖固定模板,而AI方案能自适应多种发票版式变化4

  4. 成本压力:企业财务部门50%以上时间耗费在票据处理上,AI自动化可释放这部分人力7

2)基于Dify 实现一个发票识别应用搭建的关键技术流程如下:

  • 多模态模型集成:

    • 支持视觉-语言大模型(VLM)如Qwen-VL、DeepSeek-V2等,能同时处理图像和文本信息

  • 可视化工作流编排:

    • 通过拖拽节点方式构建复杂处理流程,如"文档提取→OCR识别→数据验证→结果输出"的全自动化流水线

  • 条件分支与逻辑控制:

    • 支持基于发票类型的智能路由,如自动区分增值税发票、火车票等不同类型并调用相应处理模块

  • 多模型协同验证:

    • 可采用多个VLM模型并行识别后比对结果,显著提升准确率

3)从实际落地案例看,Dify发票识别应用为企业带来多维度的价值提升:

  1. 效率提升

    1. 单张发票处理时间从人工3-5分钟缩短至2-10秒

    2. 华为云方案用户实现"财务审核效率提升90%以上"

    3. 支持批量处理,某电商企业日处理能力从200张提升至10,000+张

  2. 成本节约

    1. 减少70%以上人工审核岗位

    2. 某服装电商年节省开票成本23.6万元(人力+税损)

    3. 按需使用的云资源模式避免硬件过度投资

  3. 风险控制

    1. 自动识别异常发票(如频繁红冲、大额整数票)

    2. 税务合规率从约85%提升至近100%

    3. 避免如"某电商因红冲率超15%被罚款87万元"的案例

  4. 业务赋能

    1. 结构化票据数据赋能财务分析(如供应商集中度分析)

    2. API集成能力支持与ERP、报销系统的深度对接

    3. 某制造企业实现"从识别到入账全流程自动化"

三、Dify 搭建业务单据核对助手实战过程

接下来通过一个实际案例应用来演示下如何基于Dify 搭建业务单据核对助手的操作过程。

3.1 前置准备

3.1.1 安装必要的插件

Dify提为应用开发者提供了众多大模型可供集成使用,但需要使用者以插件方式安装并集成进去。在账户那里右键设置,进入模型供应商设置那里,可以看到有很多大模型可供集成,入口:插件 - Dify

你可以选择合适的模型供应商进行安装,比如我这里选择了DeepSeek ,通义千问大模型,以及国内的硅基流动大模型集成平台,主要是把对应的模型供应商的apikey配置进去即可。

3.2 完整操作步骤

3.2.1 创建一个应用

如下,创建一个ChatFlow类型的空白应用,填写应用名称和描述之后点击创建

创建完成后,跳转到下面的流程配置页面

3.2.2 开始节点增加一个参数

在开始节点增加一个文件类型的变量参数,用于用户上传票据文件使用,如下:

添加完成之后,在右侧开始节点配置中可以看到这个参数

3.2.3 增加第一个大模型节点

第一个大模型节点通过配置提示词,从而来提取用户上传的票据文件中的内容,参考下面的系统提示词

请提取这张照片的内容,其中内容格式'发票号码'、'开票日期'、'出发时间'、'始发站'、'终点站'、'车次'、'票价'、'身份证号'、'姓名'、'电子客票号'、'购买方名称'、'统一社会信用代码'字段返回信息,返回的结果以json格式返回

注意这里的大模型选择具备视觉识别的大模型

同时,将配置节点中的视觉选项勾选上

3.2.4 增加第二个大模型节点

为了达到最后的票据核对效果,这里我们采用两个大模型节点,而且两个大模型节点背后配置不同厂商的大模型,如下,第二个大模型使用千问的大模型,也是选择带有VL的,系统提示词与上一个大模型节点配置相同的内容

总的来说,通过添加两个大模型节点,两个不同厂商的大模型同时对用户上传的同一份票据进行提取,如果最终不同的大模型提取的内容相同,可以判断识别的就没问题

3.2.5 增加第三个大模型节点

再增加一个大模型节点,该节点用于收集前2个大模型节点提取到的内容,然后进行对比分析,大模型中配置下面的提示词,该提示词以json的结构对大模型的回答进行了约束,并且给出了参考案例,从而更好的输出结果

{"Role": "JSON 数据对比专家","Profile": {"专长": "精确比较和分析 JSON 数据","经验": "多年处理各种结构化数据的丰富经验","技能": ["精准识别差异","使用颜色高亮标注","详细对比报告生成"]},"Goals": ["逐行比较两个JSON数据的内容","识别并标记所有存在的差异","使用颜色(红色)高亮显示不同之处","生成清晰、易读的比对结果报告"],"Rules": ["必须逐个键值对进行比较,不遗漏任何字段","只标注存在差异的部分,相同的部分保持原样","使用红色作为差异标注的唯一颜色","对于数值型差异,需要考虑精度问题","对于字符串差异,需要考虑大小写和空白字符","保持 JSON 的结构完整性,不改变原有的格式和顺序"],"Workflows": ["接收并解析两个待比对的 JSON 数据","确保两个 JSON 数据结构一致,如果不一致,报告结构差异","逐一对比每个键值对"," - 如键不同,标记为新增或缺失"," - 如值不同,使用红色高亮标注","生成详细的对比报告,包括:"," - 总体差异统计"," - 每个差异项的具体描述"," - 高亮显示的 JSON 数据"],"OutputFormat": {"type": "json","structure": {"summary": "总体比对结果摘要","differences": [{"key": "差异字段名","value1": "第一个 JSON 中的值","value2": "第二个 JSON 中的值","highlightColor": "red"}],"highlightedJSON": "包含红色高亮的完整 JSON 数据"}},"Examples": [{"input": {"json1": {"价税合计(小写)": "263.00","收款人": "李华"},"json2": {"价税合计(小写)": "213.00","收款人": "王霞"}},"output": {"summary": "发现2处差异","differences": [{"key": "价税合计(小写)","value1": "263.00","value2": "213.00","highlightColor": "red"},{"key": "收款人","value1": "李华","value2": "王霞","highlightColor": "red"}],"highlightedJSON": {"价税合计(小写)": "<red>263.00</red>","收款人": "<red>王霞</red>"}}}]
}

同时在添加消息那里,添加用户提示词,将前面2个大模型提取的票据内容进行汇聚,如下,在用户消息输入框中,将前面2个大模型节点的输出结果展示在里面即可

3.2.6 配置结束节点

在大模型节点3后面增加一个回复节点,输入变量为大模型3的输出结果,如下:

3.2.7 效果验证

上述配置完成后,点击发布更新

然后点击预览,上传一张本地的票据,这里我选择本地的一张火车票,然后首先输入发票识别,可以看到经过执行,发票的信息被提取出来了,同时给出了差异信息的输出

四、写在文末

本文通过案例操作演示详细介绍了如何基于Dify智能体平台搭建一个业务发票的差异识别助手的详细过程,希望对看到的同学有用哦,本篇到此结束,感谢观看!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/pingmian/94182.shtml
繁体地址,请注明出处:http://hk.pswp.cn/pingmian/94182.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Centos编译安装Python3.10

gcc编译源码包 下载python源码包并解压 wget https://www.python.org/ftp/python/3.10.18/Python-3.10.18.tgz tar -xf Python-3.10.18.tgz cd Python-3.10.18系统编译依赖环境安装 sudo yum install zlib-devel ncurses-devel gdbm-devel nss-devel openssl-devel readline-de…

Maya 3D建模 导入参考图、锁定参考图

1 导入参考图切换到 前视图 或者 侧视图 导入 &#xff08;根据参考图片类别去选择&#xff09;方法1&#xff1a;视图--图像平面--导入图像方法2&#xff1a;直接点 图像平面 备注&#xff1a;误操作导致看不到 解决办法&#xff1a;显示--视口 找对应的2 锁定参考图目的&…

基于单片机智能加湿器/空气加湿器

传送门 &#x1f449;&#x1f449;&#x1f449;&#x1f449;其他作品题目速选一览表 &#x1f449;&#x1f449;&#x1f449;&#x1f449;其他作品题目功能速览 概述 基于单片机的智能加湿器通过集成温湿度传感器、控制模块和雾化装置&#xff0c;实现环境湿度的自…

SNDR:高精度ADC系统的综合性能标尺

SNDR&#xff1a;高精度ADC系统的综合性能标尺 一、SNDR的本质定义与理论基础 信噪失真比(Signal-to-Noise-and-Distortion Ratio) 是评估ADC系统综合性能的核心指标&#xff0c;定义为信号功率与噪声及失真功率之和的比值&#xff1a; SNDRdB10log⁡10(PsignalPnoisePdistorti…

2025年渗透测试面试题总结-31(题目+回答)

安全领域各种资源&#xff0c;学习文档&#xff0c;以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具&#xff0c;欢迎关注。 目录 一、代码审计核心思路&#xff08;261&#xff09; 二、MySQL Getshell前提&#xff08;262&#xff09; …

[创业之路-560]:机械、电气、自控、电子、软件、信息、通信、大数据、人工智能,上述技术演进过程

上述关键词反映的技术演进过程可梳理为一条从机械执行到智能决策的递进式发展主线&#xff0c;各技术领域在不同阶段相互渗透、共同推动机器人技术从功能替代向认知革命跃迁。以下是具体演进逻辑与趋势分析&#xff1a;一、技术演进的三阶段递进机械主导阶段&#xff08;工业革…

芋道前端项目部署后刷新 404 的解决办法(Nginx 配置教程)

很多同学在把 芋道前端项目 部署到服务器后&#xff0c;会遇到一个奇怪的问题&#xff1a; &#x1f449; 项目首页能正常访问&#xff0c;但一旦在浏览器里手动刷新某个页面&#xff0c;就会报 404 Not Found 错误。 这到底是为什么呢&#xff1f;又该怎么解决呢&#xff1f;下…

更适合后端宝宝的前端三件套之HTML

文章目录&#x1f4d5;1. HTML基础✏️1.1 什么是HTML✏️1.2 认识HTML标签✏️1.3 HTML文件基本结构✏️1.4 标签层次结构&#x1f4d5;2. HTML常见标签✏️2.1 标题标签✏️2.2 段落标签✏️2.3 换行标签✏️2.4 图片标签✏️2.5 超链接标签✏️2.6 表格标签&#x1f4d5;3. …

【JVM内存结构系列】四、不同垃圾回收器与堆内存的适配关系:从分代GC到Region GC

在JVM内存体系中&#xff0c;堆内存的“分代结构”与“对象流转规则”是通用基础&#xff0c;但垃圾回收器&#xff08;GC&#xff09;是决定堆内存实际表现的核心变量——不同GC为实现“低延迟”“高吞吐量”等目标&#xff0c;会对堆的划分方式、对象管理逻辑、参数配置规则进…

Zemax光学设计输出3D

输出立体数据文件&#xff08;IGES/STEP/SAT/STL 格式&#xff09;的参数设置界面&#xff0c;各参数含义如下&#xff1a;1. 起始面/终止面&#xff1a;设定要输出立体数据对应的光学表面范围&#xff0c;从第 0 个表面到第 9 个表面 &#xff0c;限定参与输出的光学结构表面区…

模块测试与低功耗模式全攻略

一、模块测试流程在测试一个模块时&#xff0c;建议遵循以下步骤&#xff1a;基本测试&#xff1a;测试该模块的寄存器读写功能是否正常。可以向每个寄存器写入 0x5A5A 和 0xA5A5&#xff0c;这两种模式可以覆盖对寄存器写入 0 和 1 的情况。进阶测试&#xff1a;在基本测试通过…

机器学习实验三、使用决策树算法预测泰坦尼克号幸存者

实验目的1. 掌握特征工程&#xff0c;会进行特征提取与特征选择&#xff0c;会进行缺失值填充。2. 建立决策树模型&#xff0c;解决实际问题。3. 会对模型进行调试&#xff0c;能够绘制并保存决策树。实验环境Python 3.7.0&#xff0c;Sklearn &#xff0c;PyCharm实验原理1、特…

从全栈开发到微服务架构:一次真实的Java面试实录

从全栈开发到微服务架构&#xff1a;一次真实的Java面试实录 面试官与应聘者介绍 面试官&#xff1a;李明&#xff0c;某互联网大厂技术负责人&#xff0c;擅长Java后端、微服务及云原生架构。 应聘者&#xff1a;张伟&#xff0c;28岁&#xff0c;硕士学历&#xff0c;拥有5年…

新的 Gmail 网络钓鱼攻击利用 AI 提示注入来逃避检测

网络钓鱼一直以来都是为了欺骗人们。但在这次活动中&#xff0c;攻击者不仅瞄准用户&#xff0c;还试图操纵基于人工智能的防御系统。 这是我上周记录的Gmail 网络钓鱼链的演变。那次攻击活动依赖于紧迫性和重定向&#xff0c;但这次引入了隐藏的 AI 提示&#xff0c;旨在混淆…

Restful风格设计

文章目录什么是Restful风格&#xff1f;RESTful API设计最佳实践1. URL设计原则2. HTTP状态码的正确使用3. 统一的响应格式实际案例&#xff1a;用户管理系统API总结什么是Restful风格&#xff1f; 我的理解是&#xff1a;Restful是一种基于HTTP协议的架构设计风格&#xff0c…

深入 Glide 图像变换:自定义效果、GIF处理与组合变换

在 Android 开发中&#xff0c;Glide 的强大不仅在于其高效的加载和缓存能力&#xff0c;更在于其无与伦比的可扩展性&#xff0c;尤其是在图像处理层面。当内置的 fitCenter() 和 circleCrop() 无法满足你的设计需求时&#xff0c;自定义 Transformation 便是你的终极武器。本…

数据挖掘 4.8 评估泛化能力

4.8 Estimating Generalization 4.8 评估泛化能力 评估模型的泛化能力如何合理评估模型的泛化能力指导原则 (Guidelines)存在的问题 (Issues)K-fold 交叉验证&#xff08;Cross-Validation)留一交叉验证&#xff08;Leave One Out CV&#xff09;(LOOCV)Stratification 分层训练…

46.【.NET8 实战--孢子记账--从单体到微服务--转向微服务】--扩展功能--集成网关--网关集成日志

本篇文章&#xff0c;我们一起在网关中集成日志功能&#xff0c;我们要在网关中记录下游微服务出现的异常信息、请求信息以及响应信息。在微服务架构中&#xff0c;网关作为系统的入口&#xff0c;承担着非常重要的职责。通过在网关层面集成日志功能&#xff0c;我们可以更好地…

使用 FastAPI 的 WebSockets 和 Elasticsearch 来构建实时应用

作者&#xff1a;来自 Elastic Jeffrey Rengifo 学习如何使用 FastAPI WebSockets 和 Elasticsearch 构建实时应用程序。 更多阅读&#xff1a;使用 FastAPI 构建 Elasticsearch API 想要获得 Elastic 认证吗&#xff1f;看看下一次 Elasticsearch Engineer 培训什么时候开始&…

华为云ModelArts+Dify AI:双剑合璧使能AI应用敏捷开发

引言:AI应用开发的敏捷化转型需求 随着大语言模型(LLM)技术的迅猛发展,企业与开发者对AI应用开发的敏捷化转型需求日益凸显,亟需将大模型能力快速转化为实际业务价值。传统AI开发模式中,复杂的模型工程化、流程编排和部署维护工作往往需要专业技术团队支撑,典型痛点包括…