讲师中心 微信公众号
AI工具推荐 视频效率加速

Dify构建智能税务合规与增值税率计算Agent

夏芳君_4489

夏芳君_4489

发布时间:2026-10-22 10:32:02

|

363人浏览过

|

来源于php中文网

原创

答案是:需本地部署Ollama与Dify,用qwen2.5vl:7b视觉模型解析发票图像,提取类型、税号、日期、金额、税额及服务类别,再按票种分支校验税率合规性并输出结构化结果。

☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

dify构建智能税务合规与增值税率计算agent

你需要让AI自动识别发票类型、提取税号与开票日期、判断适用增值税率、校验税率合规性,并输出带计算逻辑的结构化结果——整个流程必须本地运行、不传数据、不调云端API,且能应对专票/普票/数电票等多版式。

准备本地模型与Dify运行环境

在终端执行 ollama run qwen2.5vl:7b 确认视觉模型已加载;若未安装,先运行 curl -fsSL https://ollama.com/install.sh | sh 安装Ollama,再拉取模型。

下载Dify官方Docker Compose包(v1.10.3+),解压后修改 .env 文件中 MODEL_PROVIDER=ollama 和 OLLAMA_BASE_URL=http://host.docker.internal:11434 ——这一步【必须用 host.docker.internal 而非 localhost】,否则容器内无法访问宿主机Ollama服务。

执行 docker compose up -d 启动Dify,等待约90秒,浏览器访问 http://localhost:3000 完成初始化设置。

构建发票图像理解节点

进入Dify工作流编辑器,添加第一个节点:选择「LLM」类型,模型选 qwen2.5vl:7b,关闭流式响应。

在Prompt输入框中粘贴以下指令:

你是一个税务专用OCR解析器。仅输出JSON,字段固定为:invoice_type(值为“专票”“普票”“数电票”之一)、tax_id(15/17/20位纯数字或字母组合)、issue_date(YYYY-MM-DD格式)、amount(含税总额,数字)、tax_amount(税额,数字)。不解释、不补全、不猜测缺失字段,缺失则设为null。对图片中所有文字做逐字识别,重点比对“增值税专用发票”“普通发票”“全面数字化的电子发票”字样及税号位置。

注意:该节点输入变量名必须设为 image_file,否则后续文件上传路径会断连。

设计税率决策分支逻辑

从上一节点拖出连线,添加「条件分支」节点。

配置规则如下:

① 当 invoice_type == "专票" → 进入「专票税率分支」

Evolving Agent
Evolving Agent

AI编程系统协调器。触发词:开发、实现、创建、添加、修复、报错、重构、优化、review、评审、继续、为什么、记住、保存经验、复盘、分析、学习、参考、模仿、/evolve

下载

② 当 invoice_type == "数电票" → 进入「数电票税率分支」

③ 其余情况 → 进入「普票默认分支」

这三路必须全部显式定义,不能留“否则”兜底——Dify条件分支不支持隐式 fallback,漏写会导致工作流中断无报错。

编写税率校验与计算代码节点

在「专票税率分支」下游添加「代码」节点,语言选 Python 3.11,输入变量设为 parsed(即前序JSON输出)。

粘贴以下代码:

import json
data = json.loads(inputs["parsed"])
rate_map = {"货物": 0.13, "不动产": 0.09, "生活服务": 0.06, "小规模纳税人": 0.01}
rate = rate_map.get(data.get("service_category", "货物"), 0.13)
if data["tax_amount"] is not None and data["amount"] is not None:
  calculated_tax = round(data["amount"] / (1 + rate) * rate, 2)
  is_compliant = abs(calculated_tax - data["tax_amount"]) < 0.01
else:
  is_compliant = None
outputs["rate"] = rate
outputs["calculated_tax"] = calculated_tax if "calculated_tax" in locals() else None
outputs["is_compliant"] = is_compliant

这段代码【依赖 service_category 字段,但前序视觉节点未提取】,需回到图像理解节点Prompt末尾追加:“额外识别并输出 service_category 字段,依据发票品名栏关键词匹配:含‘不动产’‘建筑’填‘不动产’,含‘餐饮’‘住宿’填‘生活服务’,其余默认‘货物’。”

配置最终输出结构与校验报告

将所有分支汇聚到一个「参数提取」节点,勾选「合并所有上游变量」。

在输出模板中填写:

{
  "invoice_id": "{{inputs.image_file.name}}",
  "extracted": {{inputs.parsed}},
  "compliance_check": {
    "applied_rate": {{outputs.rate}},
    "calculated_tax": {{outputs.calculated_tax}},
    "is_compliant": {{outputs.is_compliant}}
  }
}

保存工作流,点击右上角「调试」,上传一张增值税专用发票图片,确认返回JSON中包含 compliance_check.is_compliant 字段且值为 true 或 false。

热门AI工具

更多
WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

SkildArt
SkildArt Hot

SkildArt是一款AI文本写作工具,一站式 AI 视觉创作平台。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

UP简历
UP简历 Hot

一款AI办公效率工具,主要用于基于AI技术的免费在线简历制作工具,适合需要提升相关任务效率的用户。

PixTV
PixTV Hot

PixTV是一款面向AIGC内容创作的AI视频生成工具。

Seko
Seko Hot

一款AI视频创作工具,主要用于商汤科技推出的创编一体的AI短视频创作Agent,适合需要提升相关任务效率的用户。

火山引擎

火山引擎是一款面向企业的云计算与AI服务平台。

蛙蛙写作

一款AI论文写作工具,主要用于超级AI智能写作助手,适合需要提升相关任务效率的用户。

相关专题

更多
Dify 本地部署与企业配置
Dify 本地部署与企业配置

本专题系统讲解 Dify 从零开始的本地部署方法与企业环境配置实践,涵盖 Docker 安装、依赖准备、数据库初始化、反向代理、参数调优、安全加固与多用户开通,帮助开发者与企业团队快速搭建稳定可用的 Dify 平台。

737

2026.06.05

Dify Agent智能体开发实战教程
Dify Agent智能体开发实战教程

本专题聚焦 Dify Agent 智能体的设计与开发,涵盖 Agent 模式选择、工具集成、提示词设计、多步推理、上下文记忆与多 Agent 协作,帮助开发者构建可执行复杂业务任务的智能体应用。

265

2026.06.05

Dify RAG知识库构建实战教程
Dify RAG知识库构建实战教程

本专题围绕 Dify RAG 知识库的全流程实践展开,从文档导入、分段切片、向量化到混合检索、重排优化与召回评估,帮助你打造高准确率、低幻觉的企业知识问答应用。

236

2026.06.05

Playwright 测试失败怎么办
Playwright 测试失败怎么办

Playwright测试失败专题汇集超时、定位器匹配、浏览器提前关闭、依赖与插件配置、文件上传、SSL及Docker启动等故障文章,并介绍通过截图、报告和Trace定位错误。

20

2026.10.21

Playwright 页面操作指南
Playwright 页面操作指南

Playwright页面操作专题汇集元素定位、点击与输入、等待响应、多页面切换、Iframe、事件监听及文件处理的已审核文章,便于按操作场景查阅示例与常见问题。

0

2026.10.21

Playwright 入门教程
Playwright 入门教程

Playwright入门专题汇集测试框架安装、VS Code配置、录制脚本、编写首个用例、运行调试及查看报告的已审核文章,帮助初学者搭建端到端测试流程。

0

2026.10.21

OpenJDK JVM参数怎么调优
OpenJDK JVM参数怎么调优

Java应用运行缓慢,如何调整JVM参数?本专题介绍OpenJDK JVM性能调优的基本流程,涵盖性能指标确认、运行数据采集、内存配置和垃圾回收分析,帮助你先定位瓶颈,再通过对照测试验证效果,避免直接套用参数而影响应用稳定性。

120

2026.10.16

OpenJDK怎么配置Java开发环境
OpenJDK怎么配置Java开发环境

怎样用OpenJDK搭建开发环境?本专题介绍版本选择、下载安装、环境变量配置和编译运行验证,帮助你理清JDK的作用及基本配置流程,并通过简单程序检查环境是否可用,为后续项目开发做好准备。

80

2026.10.16

OpenJDK怎么部署Java应用
OpenJDK怎么部署Java应用

Java项目开发完成后,怎样部署到目标环境并正常运行?本专题介绍OpenJDK应用部署流程,涵盖运行环境准备、版本兼容检查、应用打包、启动参数配置和日志查看,帮助你理清部署前后的操作顺序,减少环境差异造成的运行问题。

60

2026.10.16

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Dify零基础教程
Dify零基础教程

共0课时 | 153人学习

学习Agent,从Dify开始
学习Agent,从Dify开始

共0课时 | 150人学习

Dify 部署与运维指南
Dify 部署与运维指南

共0课时 | 0人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn