Dify+OCR图文识别智能体开发项目实战

118 阅读6分钟

**Dify+OCR图文识别智能体开发项目实战---youkeit.xyz/16301/**Dify+OCR图文识别智能体开发项目实战---youkeit.xyz/16301/

在2025年企业数字化转型加速的背景下,“智能文档处理”已成为高需求、高客单价(8–30 万/项目)的黄金赛道。然而,传统开发模式需要后端、前端、算法、运维多人协作,周期长、成本高。而借助 Dify(低代码 AI 应用平台) + OCR(光学字符识别)API,一名开发者即可在 72 小时内交付生产级文档智能系统,直接提升接单竞争力。

本文将通过一个真实场景—— “物流运单自动结构化”项目,结合 Python 脚本 + Dify 工作流配置逻辑(以伪代码形式呈现) ,手把手演示如何实现高效交付。

💡 说明:Dify 支持可视化编排,但为便于理解底层逻辑,本文用代码模拟其工作流行为。实际部署时,90% 功能可通过 Dify 界面拖拽完成。


项目背景:客户痛点 vs 传统方案

客户需求
每天接收 500+ 张 PDF/图片格式的物流运单,需人工录入“发货人、收货人、货物名称、重量、运费”等字段到 ERP 系统。

传统开发方案(5 人团队 × 4 周)

  • 算法工程师:训练表格检测模型(2周)
  • 后端:搭建 OCR 服务 + 字段抽取 API(1周)
  • 前端:上传界面 + 结果展示(1周)
  • 测试 + 部署(1周)

总成本:人力约 20 万元,周期 1 个月。


我们的方案:Dify + 通用 OCR + 大模型 = 3 天交付

技术栈

  • OCR 引擎:阿里云通用文字识别(高精度,支持表格)
  • AI 编排平台:Dify(开源版或 SaaS)
  • 大模型:DeepSeek / Qwen(用于语义理解与结构化)
  • 输出:JSON 格式结构化数据,支持一键导出 Excel 或对接 API

第一步:调用 OCR 获取原始文本(Python 示例)

Python
编辑
1# install: pip install alibabacloud_ocr20191230
2from alibabacloud_ocr20191230.client import Client
3from alibabacloud_tea_openapi import models as open_api_models
4
5def get_ocr_text(image_path: str) -> str:
6    """调用阿里云 OCR 识别图片中的文字"""
7    config = open_api_models.Config(
8        access_key_id="YOUR_ACCESS_KEY",
9        access_key_secret="YOUR_SECRET",
10        endpoint="ocr.cn-shanghai.aliyuncs.com"
11    )
12    client = Client(config)
13    
14    with open(image_path, "rb") as f:
15        content = f.read()
16    
17    # 调用通用文字识别
18    response = client.recognize_general_expense(content=content)
19    # 提取所有识别出的文字块
20    words = [item["word"] for item in response.body.data.prism_wordsInfo]
21    return " ".join(words)
22
23# 示例
24raw_text = get_ocr_text("waybill_001.jpg")
25print("OCR 原始文本:", raw_text[:200] + "...")

优势:无需训练模型,直接使用成熟 OCR API,准确率 >95%(印刷体)。


第二步:用大模型将非结构化文本转为结构化 JSON(Dify 核心逻辑)

在 Dify 中,我们创建一个 “文本结构化”工作流,其核心是以下提示词(Prompt):

Text
编辑
1你是一名专业的物流数据录入员。请从以下运单文本中提取以下字段,并以严格 JSON 格式输出:
2
3字段要求:
4- shipper(发货人)
5- consignee(收货人)
6- goods_desc(货物描述)
7- weight_kg(重量,单位kg,数字)
8- freight_fee(运费,数字)
9
10原文本:
11{{ocr_output}}
12
13输出格式(仅 JSON,无其他文字):
14{
15  "shipper": "...",
16  "consignee": "...",
17  "goods_desc": "...",
18  "weight_kg": 12.5,
19  "freight_fee": 88.0
20}

模拟 Dify 调用大模型的 Python 代码

Python
编辑
1import requests
2import json
3
4def structure_with_llm(ocr_text: str) -> dict:
5    """模拟 Dify 调用大模型进行结构化"""
6    prompt = f"""
7    你是一名专业的物流数据录入员。请从以下运单文本中提取字段...
8    原文本:
9    {ocr_text}
10    输出格式(仅 JSON):
11    {{
12      "shipper": "...",
13      ...
14    }}
15    """
16    
17    # 假设调用 DeepSeek API
18    response = requests.post(
19        "https://api.deepseek.com/v1/chat/completions",
20        headers={"Authorization": "Bearer YOUR_DEEPSEEK_KEY"},
21        json={
22            "model": "deepseek-coder",
23            "messages": [{"role": "user", "content": prompt}],
24            "temperature": 0.0  # 确保输出稳定
25        }
26    )
27    
28    try:
29        content = response.json()["choices"][0]["message"]["content"]
30        return json.loads(content.strip("```json").strip("```"))
31    except Exception as e:
32        print("结构化解析失败:", e)
33        return {}

第三步:批量处理 + 导出 Excel(完整交付物)

Python
编辑
1import pandas as pd
2import os
3
4def process_waybills(folder_path: str, output_excel: str):
5    results = []
6    for filename in os.listdir(folder_path):
7        if filename.lower().endswith(('.png', '.jpg', '.pdf')):
8            image_path = os.path.join(folder_path, filename)
9            ocr_text = get_ocr_text(image_path)
10            structured = structure_with_llm(ocr_text)
11            structured["source_file"] = filename
12            results.append(structured)
13    
14    # 保存为 Excel
15    df = pd.DataFrame(results)
16    df.to_excel(output_excel, index=False)
17    print(f"✅ 处理完成!共 {len(results)} 份运单,结果已保存至 {output_excel}")
18
19# 执行
20process_waybills("./waybills/", "structured_waybills.xlsx")

第四步:在 Dify 中实现“零代码”交付(客户可自助使用)

虽然上述代码可在 1 天内写完,但为了让客户无需技术能力也能使用,我们将整个流程部署到 Dify:

  1. 创建应用:选择“Workflow”模式;

  2. 添加节点

    • 文件上传 → 调用 OCR API(通过 HTTP 节点);
    • 将 OCR 结果传给 LLM 节点(使用上述 Prompt);
    • 添加“导出 Excel”节点(Dify 内置);
  3. 发布为 Web 应用:客户打开链接,拖拽图片,点击“处理”,下载 Excel。

🎯 交付成果:一个带 UI 的 Web 应用 + API 接口(可用于对接 ERP),3 天内完成


投入 vs 回报:为什么客户愿意付 8 万+?

项目传统方案Dify+OCR 方案
开发周期4 周3 天
人力成本20 万元<1 万元(OCR 调用费 + 你的时间)
可维护性需专职运维Dify 自动托管,客户可自行操作
扩展性难以复用模板可复制到发票、合同、病历等场景

你的报价:8 万元(含 1 年维护),客户节省 60% 成本,你净赚 7 万+。


结语:低代码不是“低价值”,而是“高效率”

《Dify+OCR 低代码实战》的核心思想是:用成熟的云服务 + 智能编排,把复杂问题拆解为标准化模块。你不需要成为 OCR 专家或大模型科学家,只需掌握“如何组合它们”。

而这,正是未来自由开发者的核心竞争力——不是写更多代码,而是用更少代码解决更大问题

📌 行动建议

  1. 注册 Dify(开源版免费);
  2. 申请阿里云/百度 OCR 免费额度;
  3. 复用本文逻辑,打造你的第一个“文档智能”作品集。

3 天后,你就能向客户说:“这个项目,我三天上线。”