千问3.5-27B多场景教程:法律合同图章识别、医疗报告图片关键信息抽取

你是不是也遇到过这样的烦恼?收到一份扫描的合同,想快速找到关键条款和盖章位置,却要一页页翻找;拿到一份复杂的医疗报告图片,想提取里面的关键指标,却要手动一个字一个字地敲。这些重复、繁琐的工作,不仅耗时耗力,还容易出错。

今天,我要给你介绍一个能帮你解决这些问题的“智能助手”——千问3.5-27B多模态模型。它不仅能像ChatGPT一样和你聊天,更厉害的是,它能“看懂”图片里的内容。无论是合同上的公章、签名,还是医疗报告里的检查项目、数值,它都能帮你快速识别和提取出来。

这篇文章,我就手把手带你,用这个已经部署好的镜像,快速上手两个非常实用的场景:法律合同图章识别医疗报告图片关键信息抽取。你不需要懂复杂的AI模型部署,也不需要写很多代码,跟着我的步骤,10分钟就能让这个“智能助手”为你工作。

1. 准备工作:认识你的智能助手

在开始动手之前,我们先花一分钟了解一下这位“助手”的基本情况。这能让你知道它能做什么,以及我们接下来要用的工具是什么。

1.1 千问3.5-27B是什么?

简单来说,千问3.5-27B是一个能同时理解文字和图片的AI模型。你可以把它想象成一个视力、理解力都超强的“实习生”。

  • 文字对话:你可以像和ChatGPT聊天一样,用中文问它任何问题,它会流式地(一个字一个字地)回复你,体验很流畅。
  • 图片理解:这是它的核心能力。你给它一张图片,它不仅能描述图片里有什么,还能根据你的指令,从图片里找出特定的信息。比如,你问“这张合同上盖了几个章?”,它就能告诉你答案。

1.2 我们用的工具:开箱即用的镜像

为了让这个强大的模型能快速用起来,技术团队已经把它打包成了一个“镜像”。你可以把它理解为一个已经安装好所有软件、配置好所有环境的“软件包”。

这个镜像最大的好处就是开箱即用

  • 环境已配好:模型、运行环境、Web界面都已经部署在强大的 4 x RTX 4090 D 显卡服务器上,你不需要自己折腾。
  • 界面很友好:提供了一个全中文的网页聊天界面,打开浏览器就能用。
  • 接口很全面:除了网页聊天,还提供了API接口,方便你写程序调用,实现自动化处理。

你只需要知道访问地址,剩下的,跟着我做就行。

2. 快速上手:三步开启你的智能助手

理论说再多,不如动手试一试。我们现在就来启动这个服务,并熟悉一下它的基本操作。

2.1 第一步:找到入口并打开

服务启动后,你会得到一个专属的访问地址,格式类似这样:

https://gpu-你的实例ID-7860.web.gpu.csdn.net/
  1. 在你的控制台或部署页面找到这个链接。
  2. 用浏览器(Chrome、Edge等都可以)打开这个链接。
  3. 稍等片刻,你会看到一个简洁的中文聊天界面。恭喜,你的“智能助手”已经上线了!

2.2 第二步:试试基础聊天

在网页中间的输入框里,你可以先和它打个招呼,测试一下基础的文字对话功能。

  • 输入你好,请介绍一下你自己。
  • 操作:点击输入框右侧的「开始对话」按钮,或者直接按键盘的 Ctrl + Enter 快捷键。
  • 观察:你会看到回复是一个字一个字地流式出现的,就像真人在打字一样,体验很好。

2.3 第三步:了解两种使用方式

这个助手提供了两种使用方式,你可以根据需求选择:

  1. 网页聊天(适合手动、探索性任务)

    • 场景:临时上传一两张图片,问几个问题。比如,快速查看一份合同。
    • 优点:无需编程,直观方便。
    • 注意:当前网页版本主要支持文本流式对话。对于图片理解,我们需要使用更强大的API接口。
  2. API接口调用(适合自动化、批量处理任务)

    • 场景:需要批量处理上百份合同图片,自动提取信息并保存到表格里。
    • 优点:可以集成到你的程序中,实现全自动化。
    • 方法:通过发送HTTP请求来调用模型能力。别担心,我会给你现成的代码模板。

接下来,我们就用这两种方式,来解决实际场景中的问题。

3. 实战场景一:法律合同图章智能识别

假设你是一名法务、商务或行政人员,每天需要处理大量扫描的合同PDF或图片。你需要快速确认:合同是否已盖章?盖的是公章还是合同章?盖章位置是否规范?手动翻找效率极低。

现在,让我们用千问3.5-27B来搞定它。

3.1 方法A:使用API接口(推荐用于正式工作)

这是最灵活、最强大的方式。我们通过写一个简单的Python脚本来调用。

首先,确保你的电脑上安装了Python和requests库。如果没有,在命令行输入 pip install requests 安装。

然后,创建一个名为 contract_analyzer.py 的文件,复制下面的代码进去:

import requests
import json

# 1. 设置你的服务地址(将下面的链接换成你自己的)
API_URL = "https://gpu-你的实例ID-7860.web.gpu.csdn.net/generate_with_image"

# 2. 准备你的合同图片路径
image_path = "/你的路径/合同扫描件.jpg"  # 请修改为你的图片实际路径

# 3. 设计你的提问(提示词)
# 提示词是关键,问得越具体,模型回答得越好
prompt_text = """
请你仔细分析这张合同图片,并回答以下问题:
1. 这张合同图片中是否有盖章(包括公章、合同专用章、财务章、法人章等)?
2. 如果有盖章,请描述盖章的类型、数量以及它们所在的大致位置(例如:右下角甲方处、骑缝章等)。
3. 请识别合同末尾的签名区域,是否有手写签名或打印的签名栏?
请用清晰、分点的格式回复。
"""

# 4. 构建并发送请求
with open(image_path, 'rb') as img_file:
    files = {
        'image': img_file
    }
    data = {
        'prompt': prompt_text,
        'max_new_tokens': 512  # 回复可以长一点,因为信息可能较多
    }

    print("正在发送请求分析合同...")
    response = requests.post(API_URL, files=files, data=data)

# 5. 处理并打印结果
if response.status_code == 200:
    result = response.json()
    # 通常响应结构是 {'response': '模型生成的文本'}
    print("\n=== 合同分析结果 ===")
    print(result.get('response', '未找到回复内容'))
else:
    print(f"请求失败,状态码:{response.status_code}")
    print(response.text)

如何使用这个脚本:

  1. 将代码中的 API_URL 替换成你自己的服务地址。
  2. image_path 变量值改成你电脑上合同图片的实际路径。
  3. 打开命令行,进入到脚本所在目录,运行:python contract_analyzer.py
  4. 稍等几秒到十几秒(取决于图片大小和网络),你就能在命令行看到模型对合同的分析结果了。

效果示例: 模型可能会返回这样的分析结果:

=== 合同分析结果 ===
根据对图片的分析:
1. **盖章情况**:本合同中存在盖章。共发现两处盖章。
2. **盖章详情**:
   - 第一处:位于合同末页右下角“甲方(盖章)”字样旁边,为一枚红色圆形公章,文字清晰可辨为“XX科技有限公司合同专用章”。
   - 第二处:位于合同末页右下角“乙方(盖章)”字样旁边,为一枚红色圆形公章,文字为“XX咨询有限公司公章”。
3. **签名区域**:在“甲方代表签字”和“乙方代表签字”栏位,均有黑色手写体签名。

看,原本需要你花几分钟仔细查看的合同,现在AI几秒钟就帮你梳理清楚了。

3.2 方法B:进阶技巧与批量处理

如果只有一两份合同,用上面的脚本就够了。但如果你有几十上百份,我们可以稍微升级一下脚本,实现批量处理和结果保存。

import requests
import json
import os
from pathlib import Path

API_URL = "https://gpu-你的实例ID-7860.web.gpu.csdn.net/generate_with_image"
CONTRACT_IMAGE_FOLDER = "/你的路径/合同文件夹/"  # 存放所有合同图片的文件夹
OUTPUT_FILE = "合同分析报告.json"

prompt_text = """
(同上,略)
"""

all_results = []

# 遍历文件夹中的所有图片文件
image_extensions = ['.jpg', '.jpeg', '.png', '.bmp']
image_files = [f for f in Path(CONTRACT_IMAGE_FOLDER).iterdir() if f.suffix.lower() in image_extensions]

print(f"发现 {len(image_files)} 份合同待处理...")

for img_file in image_files:
    print(f"正在处理: {img_file.name}")
    try:
        with open(img_file, 'rb') as f:
            files = {'image': f}
            data = {'prompt': prompt_text, 'max_new_tokens': 512}
            response = requests.post(API_URL, files=files, data=data, timeout=60) # 设置超时

        if response.status_code == 200:
            analysis = response.json().get('response', '分析失败')
            all_results.append({
                "文件名": img_file.name,
                "分析结果": analysis
            })
            print(f"  -> 完成")
        else:
            print(f"  -> 失败,状态码:{response.status_code}")
            all_results.append({
                "文件名": img_file.name,
                "分析结果": f"API请求失败: {response.status_code}"
            })
    except Exception as e:
        print(f"  -> 处理异常: {e}")
        all_results.append({
            "文件名": img_file.name,
            "分析结果": f"处理异常: {str(e)}"
        })

# 将结果保存为JSON文件,方便导入Excel或数据库
with open(OUTPUT_FILE, 'w', encoding='utf-8') as f:
    json.dump(all_results, f, ensure_ascii=False, indent=2)

print(f"\n所有合同处理完成!结果已保存至: {OUTPUT_FILE}")

这个脚本会自动扫描一个文件夹里所有的合同图片,逐一分析,并把所有结果整理成一个JSON文件。你可以轻松地把它转换成Excel表格,进行后续的统计和管理。

4. 实战场景二:医疗报告图片关键信息抽取

第二个场景,我们转向医疗健康领域。很多体检报告、化验单都是纸质版或扫描件。医生、研究人员或健康管理人员需要从中提取关键数值(如血糖、血脂、白细胞计数等)进行记录或分析。手动录入不仅慢,还容易看错行、输错数。

用千问3.5-27B,我们可以让AI充当一个“智能录入员”。

4.1 核心操作:精准提问获取结构化信息

医疗报告的关键在于准确结构化。我们的提问方式(提示词)需要更加精准。

假设我们有一张血常规报告单的图片,我们可以这样提问:

medical_prompt = """
你是一个专业的医疗信息提取助手。请仔细阅读这张医疗报告单图片,并严格按照以下要求提取信息:

请提取以下项目的结果值(包括数值和单位):
1. 白细胞计数 (WBC)
2. 红细胞计数 (RBC)
3. 血红蛋白 (HGB)
4. 血小板计数 (PLT)
5. 血糖 (GLU) (如果有)

**输出格式要求:**
请以纯JSON格式输出,不要有任何额外的解释文字。
JSON结构如下:
{
  "报告类型": "血常规报告",
  "提取项目": [
    {"项目名称": "白细胞计数", "检测结果": "数值+单位", "参考范围": "如果图片上有请提供"},
    {"项目名称": "红细胞计数", "检测结果": "数值+单位", "参考范围": "如果图片上有请提供"},
    ... (其他项目)
  ],
  "异常提示": ["列出所有超出参考范围的项目名称"]
}
如果图片中没有找到某个项目,其“检测结果”字段请填写“未检测”。
请确保数值和单位完全来自图片,不要自行编造。
"""

将上面这个 medical_prompt 变量,替换到之前合同识别脚本的 prompt_text 位置,并指向你的报告单图片,运行脚本。

你可能会得到这样的结果:

{
  "报告类型": "血常规报告",
  "提取项目": [
    {"项目名称": "白细胞计数", "检测结果": "6.2 x10^9/L", "参考范围": "3.5-9.5 x10^9/L"},
    {"项目名称": "红细胞计数", "检测结果": "4.8 x10^12/L", "参考范围": "4.3-5.8 x10^12/L"},
    {"项目名称": "血红蛋白", "检测结果": "145 g/L", "参考范围": "130-175 g/L"},
    {"项目名称": "血小板计数", "检测结果": "210 x10^9/L", "参考范围": "125-350 x10^9/L"},
    {"项目名称": "血糖", "检测结果": "未检测", "参考范围": ""}
  ],
  "异常提示": []
}

看,所有关键数据都被整齐地提取出来,并转化成了程序可以直接处理的JSON格式!你可以轻松地将这些数据存入数据库或生成统计图表。

4.2 处理复杂报告与优化策略

有些报告格式复杂,或者图片质量不高,可能会影响识别效果。这里有几个小技巧:

  1. 分区域提问:如果报告单很长,可以先将图片裁剪成关键区域(如“检验结果”板块),再提交给模型分析,准确率会更高。
  2. 结合上下文:如果模型对某些缩写不确定,可以在提示词中补充常见缩写对照。例如:“‘ALT’代表丙氨酸氨基转移酶,请查找该项目”。
  3. 结果校验:对于特别关键的数据(如异常值),可以设计简单的校验逻辑。例如,让模型先提取,然后你写一段代码判断数值是否在合理范围内(比如成人的心率一般不会超过200次/分),对异常结果进行标红或二次确认。

5. 总结与进阶思考

通过上面两个具体的例子,你应该已经感受到千问3.5-27B这个“视觉助手”的强大之处了。它把原本需要人眼识别、大脑理解、手动录入的繁琐工作,变成了一个自动化的流水线。

5.1 核心价值回顾

我们来总结一下,今天你学到了什么:

  • 零部署上手:利用预置的镜像,你跳过了最复杂的模型部署和环境配置环节,直接获得了这个强大模型的使用权。
  • 双场景实战
    • 法律合同:学会了如何通过API,让AI自动识别合同中的盖章情况、签名位置,实现合同要点的快速审核。
    • 医疗报告:掌握了用精准的提示词,引导AI从报告单图片中提取结构化数据(如血常规指标),极大提升了数据录入效率。
  • 两种使用模式:了解了适合手动测试的Web界面,以及更适合集成与批量处理的API调用方式。
  • 提示词(Prompt)的艺术:看到了如何通过设计清晰、具体的提问,来获得高质量、结构化的回答。这是用好这类模型的关键。

5.2 还能用它做什么?

今天的两个例子只是抛砖引玉。千问3.5-27B的“读图”能力,可以应用到无数需要从图片中提取信息的场景:

  • 教育领域:自动批改手写作业、识别数学公式、从教科书插图中提取信息。
  • 零售电商:识别商品包装上的规格参数、提取发票上的金额和税号、审核用户上传的资质图片。
  • 办公自动化:读取会议白板照片并生成纪要、整理名片信息、从复杂的图表中提取数据点。
  • 内容管理:为图片库自动生成描述标签、审核用户上传的图片内容是否合规。

5.3 给你的行动建议

  1. 立即尝试:马上用你自己的合同或报告图片,运行一下我给的代码,看看效果。实践是学习的最好方式。
  2. 迭代提示词:如果第一次结果不理想,不要灰心。仔细看看模型的回复,调整你的提问方式。通常,更具体、更结构化、带有格式要求的提示词,效果会好得多。
  3. 思考流程整合:想一想,这个能力可以如何嵌入到你现有的工作流程中?是做一个每周自动审核合同的小工具,还是做一个患者报告数据入库的自动化脚本?

技术的价值在于应用。现在,一个能看懂图片的AI助手已经在你触手可及的地方。剩下的,就是发挥你的想象力,用它去解决那些曾经让你头疼的问题了。


获取更多AI镜像

想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。

Logo

欢迎加入DeepSeek 技术社区。在这里,你可以找到志同道合的朋友,共同探索AI技术的奥秘。

更多推荐