当前位置: 首页 > news >正文

视觉理解与图片问答,学习如何使用 GPT-4o (GPT-4 Omni) 来理解图像

🍉 CSDN 叶庭云https://yetingyun.blog.csdn.net/


一、引言

OpenAI 最新发布的 GPT-4 Omni 模型,也被称为 GPT-4o,是一个多模态 AI 模型,旨在提供更加自然和全面的人机交互体验

GPT-4o 与 GPT-4 Turbo 都具备视觉功能,这意味着模型能够处理图片并回答相关问题,为用户提供更丰富、更直观的交互体验。历史上,语言模型系统主要局限于处理文本这一单一输入模式,这在很大程度上限制了如 GPT-4 等强大模型的应用范围。之前,该模型有时被称为 GPT-4V 或在 API 中以 gpt-4-vision-preview 的形式出现。然而,请留意,当前的 Assistants API 尚不支持图片输入功能。

在用户消息中支持传递图片。模型获取图片主要有两种方式:一是通过传递图片链接,二是直接在请求中传递 Base64 编码的图片

GPT-4 Vision 官方文档:https://platform.openai.com/docs/guides/vision,指导用户如何使用 GPT-4 的视觉功能:

  • GPT-4 视觉功能:介绍了 GPT-4 模型如何理解图片,以及如何通过 API 使用这项功能。API 还能够处理多个图片输入,并根据所有图片信息来回答问题。
  • 快速开始指南:提供了如何通过链接或直接在请求中传递 Base64 编码的图片来使用模型的方法。
  • 图片细节控制:通过设置细节参数(低、高或自动),可以控制模型如何处理图片并生成文本理解。
  • 图片处理限制:列出了模型在处理图片时的一些限制,例如:目前限制图片上传大小为每张 20MB、模型能够理解图片中的对象及其关系,但不适合精确空间定位或解读专业医学图像(例如 CT 扫描图像,高分辨率病理组织切片图像),以及可能无法正确理解非拉丁字母的文本等。
  • 成本计算:解释了图片输入如何按 token 计费,以及如何根据图片大小和细节选项确定 token 成本。

总的来说,GPT-4 的图片理解功能对开发者而言极为实用,可广泛应用于食物识别以提供营养指南、社交媒体内容分析、艺术品鉴赏和科学图表解读等多个领域。


二、代码示例

安装所需的依赖库:

pip install -U openai
pip install requests==2.29.0
pip install urllib3==1.25.11

示例 1:使用图片 URL,以及英文 Prompt。

👇 测试图片如下所示,图片的链接为:https://s3.bmp.ovh/imgs/2024/06/22/88ba888d9fddda32.jpg

在这里插入图片描述

图片来源:UniST: A Prompt-Empowered Universal Model for Urban Spatio-Temporal Prediction

👇 Python 代码如下:

import base64
import requests
from openai import OpenAIclient = OpenAI(api_key="sk-your_api_key",base_url="https://api.openai.com/v1",
)prompt = "Your task is to describe the content and details of this image in detail. Then explain what this image means."
image_url = "https://s3.bmp.ovh/imgs/2024/06/22/88ba888d9fddda32.jpg"
messages_template = [{"role": "user","content": [{"type": "text", "text": prompt},{"type": "image_url", "image_url": {"url": image_url, "detail": "auto"}},],}
]
response = client.chat.completions.create(model="gpt-4o",messages=messages_template,n=1,max_tokens=1024,temperature=0,seed=42,
)
# print(response.json())
result = response.choices[0].message.content
print(result)

👇 生成结果如下:

The image is a conceptual diagram illustrating the transition from using multiple separate models to a unified model for handling diverse spatiotemporal (ST) data. Here is a detailed description of the content and its meaning:

Content Description:

  1. Left Section (Separate Models):

    • This section shows multiple neural network diagrams, each representing a separate model. These models are depicted as traditional neural networks with interconnected nodes and layers.
    • Each model is associated with an arrow pointing towards the central section, indicating that each model is designed to handle specific types of data.
  2. Central Section (Diverse ST Data):

    • This section contains various images representing different types of spatiotemporal data:
      • The first image appears to be a heatmap or density map.
      • The second image shows a map with data points or clusters.
      • The third image is a cityscape with some form of wireless communication overlay.
      • The fourth image shows bicycles, likely indicating bike-sharing data.
      • The fifth image is a map with routes or paths, possibly representing transportation networks.
      • The sixth image shows a 5G network symbol, indicating telecommunications data.
      • The seventh image depicts taxis, likely representing taxi service data.
      • The eighth image shows industrial smokestacks, indicating pollution or environmental data.
  3. Right Section (One-for-All Model):

    • This section shows a single neural network diagram labeled “UniST,” representing a unified model.
    • An arrow points from the diverse ST data to this unified model, indicating that this single model is designed to handle all types of spatiotemporal data.

Meaning:

The image illustrates the concept of moving from multiple specialized models to a single, unified model for processing diverse spatiotemporal data. Traditionally, different types of spatiotemporal data (such as traffic patterns, environmental data, telecommunications data, etc.) would require separate models, each tailored to the specific characteristics of the data. This approach can be resource-intensive and complex to manage.

The “One-for-All” model, labeled as “UniST,” represents a more efficient and streamlined approach. This unified model is designed to handle various types of spatiotemporal data within a single framework. The benefits of such a model include reduced complexity, improved scalability, and potentially better performance due to the shared learning across different data types.

In summary, the image conveys the transition from using multiple specialized models to a single, versatile model capable of handling a wide range of spatiotemporal data, thereby simplifying the modeling process and enhancing efficiency.

示例 2:本地多张图片,上传 Base64 编码的图片,以及中文 Prompt。

上传 Base64 编码的图片。若你本地有图片,无论是单张还是多张,都可以将其转换为 Base64 编码格式,然后传给模型。

多图输入:Chat Completions API 能够接收并处理多个图片输入,无论是 Base64 编码格式还是图片 URL。该模型将一同处理每张图片,并使用所有图片的信息来回答问题。

👇 测试的两张图片如下所示:

在这里插入图片描述

图片一来源:https://news.yxrb.net/2024/0621/4254.html

图片二来源:https://s3.bmp.ovh/imgs/2024/06/22/88ba888d9fddda32.jpg

👇 Python 代码如下:

import os
import base64
import requestsdef encode_image(image_path):"""对图片文件进行 Base64 编码输入:- image_path:图片的文件路径输出:- 编码后的 Base64 字符串"""# 二进制读取模式打开图片文件,with open(image_path, "rb") as image_file:# 将编码后的字节串解码为 UTF-8 字符串,以便于在文本环境中使用。return base64.b64encode(image_file.read()).decode("utf-8")# 中文 Prompt 指令
prompt = ("你的任务是详细描述图片包含的内容和细节。进而解释图片的含义。"
)
# 对本地多张图片进行 Base64 编码
images = os.listdir("./images")
images.sort()
print(images)
base64_images = [encode_image("./images/" + image) for image in images]
# 组织用户消息
user_content = [{"type": "text", "text": prompt}]
base64_images = [{"type": "image_url","image_url": {"url": f"data:image/jpeg;base64,{base64_image}","detail": "high",},}for base64_image in base64_images
]
user_content.extend(base64_images)
messages_template = [{"role": "user", "content": user_content}]
# 构造请求参数
payload = {"model": "gpt-4o","messages": messages_template,"max_tokens": 1600,"temperature": 0,"seed": 2024,
}
# OpenAI API Key
api_key = "sk-your_api_key"
# 请求头
headers = {"Content-Type": "application/json", "Authorization": f"Bearer {api_key}"}
# 发送 POST 请求
response = requests.post("https://api.chatanywhere.com.cn/v1/chat/completions",headers=headers, json=payload
)
# 打印生成结果
print(response.json())
result = response.json()["choices"][0]["message"]["content"]
print(result)

👇 生成结果如下:

图片一:游戏《王者荣耀国际服》登顶苹果商店免费游戏排行榜

内容和细节描述:
  1. 背景和主题

    • 图片的背景是橙色和白色的渐变,带有一些抽象的图案。
    • 左上角有 “Honor of Kings” 的标志,表明这是关于《王者荣耀》的内容。
  2. 主要人物形象

    • 图片左侧有一个穿着红色和白色服装的女性角色,手持长棍,姿势英姿飒爽,显得非常有力量和自信。
  3. 文字信息

    • 图片顶部有大字标题:“《王者荣耀国际服》登顶苹果商店免费游戏排行榜”。
    • 下面列出了多个国家和地区的名称,如“印尼/马来/菲律宾/柬埔寨/缅甸/老挝/新加坡/文莱/美国/加拿大/澳大利亚/新西兰/秘鲁/玻利维亚”,表明该游戏在这些地区的苹果商店中排名第一。
  4. 排行榜截图

    • 右侧有一个苹果商店排行榜的截图,显示《Honor of Kings》在免费游戏排行榜中排名第一。
    • 下面有一个 “Download on the App Store” 的按钮,提示用户可以在苹果商店下载该游戏。
图片含义:

这张图片主要是宣传《王者荣耀国际服》在多个国家和地区的苹果商店免费游戏排行榜中登顶,展示了该游戏的全球受欢迎程度和影响力。通过展示排行榜截图和游戏角色形象,吸引更多玩家下载和体验这款游戏。

图片二:UniST 模型的概念图

内容和细节描述:
  1. 左侧:Separate Models

    • 左侧有多个独立的神经网络模型图示,表示传统方法中针对不同数据集使用不同的模型。
  2. 中间:Diverse ST Data

    • 中间部分展示了多种时空数据(ST Data)的图片,包括:
      • 热力图
      • 城市夜景
      • 自行车共享系统
      • 5G 网络
      • 出租车
      • 工业排放
    • 这些图片展示了不同类型的时空数据,表明数据的多样性。
  3. 右侧:One-for-All Model

    • 右侧展示了一个统一的神经网络模型,标注为 “UniST”。
    • 这个模型整合了所有不同类型的数据,形成一个 “一体化” 的模型。
图片含义:

这张图片展示了一个名为 “UniST” 的统一模型的概念。传统方法中,不同类型的时空数据需要使用不同的模型进行处理,而 UniST 模型则能够整合多种不同类型的数据,形成一个通用的模型。这种方法可以提高模型的泛化能力和处理效率,适用于多种时空数据的分析和预测。


三、总结

总的来说,GPT-4o 在回答图片中存在什么这样的一般性问题上表现卓越。虽然它能理解图片中物体间的关联,但尚未能精确回答涉及物体具体位置的详细问题。例如,询问车辆的颜色或基于冰箱内容提供晚餐建议,GPT-4o 基本都能应对自如。然而,若展示一个房间图片并询问椅子位置,它可能无法给出准确答案。因此,在探索视觉理解应用时,务必考虑到模型的这些局限性

注意:GPT-4 虽配备视觉功能,功能强大且适用广泛,但了解其局限性同样关键。以下是模型已知的一些局限:

  • 在医学图片方面,该模型不适宜解读专业的 CT 扫描、病理组织切片等医学图像,故不宜用于医疗建议。
  • 对于非英语文本,如日语或韩语等含有非拉丁字母的图片,模型可能无法发挥最佳性能。
  • 放大图片文本以提高可读性时,需避免裁剪重要细节。
  • 模型在处理旋转或颠倒的文本 / {/} /图片时,可能产生误解。
  • 当图形或文本中的颜色、样式(如实线、虚线、点线)各异时,模型可能难以准确理解。
  • 在需要精确空间定位的任务(如棋盘位置识别)上,模型表现不佳。
  • 某些情况下,模型可能会生成错误的描述或标题。
  • 模型在处理全景和鱼眼图片时存在一定困难。
  • 模型不处理原始文件名或元数据,且在分析前会调整图片大小,可能影响其原始尺寸。
  • 对于图片中的对象计数,模型可能仅能提供大致数量(可能不准确)。
  • 出于安全考虑,OpenAI 实施了一个系统来阻止提交验证码图片。

常见问题解答

我可以微调 gpt-4 的视觉功能吗?
不能,目前不支持微调 gpt-4 的视觉功能。

我可以使用 gpt-4 来生成图片吗?
不能,但其实你可以使用 dall-e-3 来生成图片,再使用 gpt-4o 或 gpt-4-turbo 来理解图片。

我可以上传哪种类型的文件?
目前支持 PNG(.png)、JPEG(.jpeg 和 .jpg)、WEBP(.webp)和非动画 GIF(.gif)。

上传的图片大小有限制吗?
是的,目前限制图片上传大小为每张 20MB

我可以删除我上传的图片吗?
不能,OpenAI 声明会在模型处理完图片后自动为你删除。

我在哪里可以了解更多关于 GPT-4 与视觉方面的注意事项?
你可以在 GPT-4 带视觉系统卡中找到 OpenAI 的评估、准备和缓解工作的详细信息。OpenAI 进一步实施了一个系统,以阻止提交验证码图片。

带视觉功能的 GPT-4 的速率限制是如何工作的?
OpenAI 在 token 级别处理图片,所以其处理的每张图片都会计入你的每分钟 token(TPM)限制。有关用于确定每张图片 token 计数的公式的详细信息,请参见计算成本部分。

带视觉功能的 GPT-4 可以理解图片元数据吗?
不能,模型不接收图片元数据。

如果我的图片不清晰会怎么样?
如果一张图片模糊不清,模型会尽力解释它。但是,结果可能不那么准确。一个好的经验法则是,如果一个普通人在低 / {/} /高分辨率模式下看不清图片中的信息,那么模型也同样看不清。


📚️ 相关链接:

  • 「视觉版」GPT-4 Turbo 重磅升级!ChatGPT 40 条消息限制或取消

  • AI 洞察|GPT-4o 震撼登场,点燃中国大模型的创新火花

相关文章:

视觉理解与图片问答,学习如何使用 GPT-4o (GPT-4 Omni) 来理解图像

🍉 CSDN 叶庭云:https://yetingyun.blog.csdn.net/ 一、引言 OpenAI 最新发布的 GPT-4 Omni 模型,也被称为 GPT-4o,是一个多模态 AI 模型,旨在提供更加自然和全面的人机交互体验。 GPT-4o 与 GPT-4 Turbo 都具备视觉功…...

【LocalAI】(13):LocalAI最新版本支持Stable diffusion 3,20亿参数图像更加细腻了,可以继续研究下

最新版本v2.17.1 https://github.com/mudler/LocalAI/releases Stable diffusion 3 You can use Stable diffusion 3 by installing the model in the gallery (stable-diffusion-3-medium) or by placing this YAML file in the model folder: Stable Diffusion 3 Medium 正…...

云计算【第一阶段(19)】磁盘管理与文件系统 LVM与磁盘配额(二)

目录 一、LVM概述 1.1、LVM机制的基本概念 ​编辑 1.2、LVM的管理命令 1.3、lvm存储 两种机制 1.4、lvm应用实例 二、磁盘配额概述 2.1、设置磁盘配额 2.2.1、实现磁盘限额的条件 2.2.2、linux磁盘限额的特点 2.2.3、磁盘配额管理 一、LVM概述 1.1、LVM机制的基本概…...

基于C++实现的EventLoop与事件驱动编程

一,概念介绍 事件驱动编程(Event-Driven)是一种编码范式,常被应用在图形用户界面,应用程序,服务器开发等场景。 采用事件驱动编程的代码中,通常要有事件循环,侦听事件,…...

Android高级面试_8_热修补插件化等

Android 高级面试:插件化和热修复相关 1、dex 和 class 文件结构 class 是 JVM 可以执行的文件类型,由 javac 编译生成;dex 是 DVM 执行的文件类型,由 dx 编译生成。 class 文件结构的特点: 是一种 8 位二进制字节…...

显卡GTX与RTX有什么区别?哪一个更适合玩游戏?

游戏发烧友们可能对游戏显卡并不陌生,它直接关系到游戏画面的流畅度、细腻程度和真实感。在众多显卡品牌中,英伟达的GTX和RTX系列显卡因其出色的性能而备受关注。 一、GTX与RTX的区别 架构差异 GTX系列显卡采用的是Pascal架构,这是英伟达在…...

QT自定义信号和槽函数

在QT中最重要也是必须要掌握的机制,就是信号与槽机制,在MFC上也就是类型的机制就是消息与响应函数机制 在QT中我们不仅要学会如何使用信号与槽机制,还要会自定义信号与槽函数,要自定义的原因是系统提供的信号,在一些情…...

Atcoder Beginner Contest 359

传送门 A - Count Takahashi 时间限制:2秒 内存限制:1024MB 分数:100分 问题描述 给定 N 个字符串。 第 i 个字符串 () 要么是 Takahashi 要么是 Aoki。 有多少个 i 使得 等于 Takahashi ? 限制 N 是整数。每个…...

无线通讯几种常规天线类别简介

天线对于无线模块来说至关重要,合适的天线可以优化通信网络,增加其通信的范围和可靠性。天线的选型对最后的模块通信影响很大,不合适的天线会导致通信质量下降。针对不同的市场应用,天线的材质、安置方式、性能也大不一样。下面简…...

最大团问题--回溯法

一、相关定义 给定一个无向图 ,其中 V 是图的顶点集,E图的边集 完全图:如果无向图中的任何一对顶点之间都有边,这种无向图称为完全图 完全子图:给定无向图 ,如果 ,且对应任意 且 ,则…...

MBSE之简单介绍

MBSE之简单介绍 文章目录 MBSE之简单介绍1. What is MBSE?2. MBSE 最佳实践 1. What is MBSE? Model-Based Systems Engineering (MBSE), a.k.a. Model-Based Systems Development (MBSD), is a Systems Engineering process paradigm that emphasizes t…...

基于ODPS解析字段值为JSON的情况

最近在使用ODPS数据库,其中一个字段他是用JSON存储的,但是我是需要JSON字符串中的一个属性值就行,刚好ODPS中有一个函数可以用来使用! 使用案例 select GET_JSON_OBJECT({"id":1,"name":"xiaobai"},$.name);…...

CesiumJS【Basic】- #020 加载glb/gltf文件(Primitive方式)

文章目录 加载glb/gltf文件(Primitive方式)1 目标2 代码实现3 资源文件加载glb/gltf文件(Primitive方式) 1 目标 使用Primitive方式加载glb/gltf文件 2 代码实现 import * as Cesium from "cesium";const viewer = new Cesium.Viewer...

2024黑盾杯复现赛题MISC部分

一、一个logo 一张png图片,查看颜色通道即可发现flag 二、 学会Office 最好用联想自带的excel工具查看,我用WPS打开未解出题目 这里会发现有隐藏信息 隐藏信息为宏加密 。去百度了解宏加密后,发现有俩个宏,一个加密一个解密 执…...

Linux0.12内核源码解读(5)-head.s

大家好,我是呼噜噜,好久没有更新old linux了,本文接着上一篇文章图解CPU的实模式与保护模式,继续向着操作系统内核的世界前进,一起来看看heads.s as86 与GNU as 首先我们得了解一个事实,在Linux0.12内核源…...

刷代码随想录有感(119):动态规划——打家劫舍III(树形dp)

题干&#xff1a; 代码&#xff1a; class Solution { public:vector<int>dp(TreeNode* cur){if(cur NULL)return vector<int>{0, 0};vector<int> left dp(cur -> left);vector<int> right dp(cur -> right);//偷int val1 cur -> val l…...

vivado CARRY_REMAP、CASCADE_HEIGHT

CARRY_REMAP opt_design-carry_remap选项可用于将单个carry*单元重新映射到LUT中 提高了布线的设计效果。使用-carry_remap选项时&#xff0c;仅 将单级进位链转换为LUT。CARRY_REMAP属性允许您 指定在优化过程中要转换的长度较大的进位链。 您可以使用控制任意长度的单个进位链…...

Ubuntu磁盘分区和挂载 虚拟机扩容 逻辑卷的创建和扩容保姆及教程

目录 1、VMware虚拟机Ubuntu20.04系统磁盘扩容 2、Linux的磁盘分区和挂载 3、创建逻辑卷和逻辑卷的扩容 1、VMware虚拟机Ubuntu20.04系统磁盘扩容 通过下图可以看出我们的根磁盘一共有20G的大小&#xff0c;现在我们把它扩容为30G 注&#xff1a;如果你的虚拟机有快照是无…...

【附精彩文章合辑】哈佛辍学小哥的创业经历【挑战英伟达!00 后哈佛辍学小哥研发史上最快 AI 芯片,比 H100 快 20 倍!】

前情提要 https://blog.csdn.net/weixin_42661676/article/details/140020491 哈佛辍学小哥的创业经历 一、背景与起步 这位哈佛辍学小哥&#xff0c;名为Chris Zhu&#xff0c;是一位华裔学生&#xff0c;他在2020年进入哈佛大学&#xff0c;攻读数学学士学位和计算机科学硕…...

Oracle CPU使用率过高问题处理

1.下载Process Explorer 2.打开Process Explorer&#xff0c;查看CPU使用情况最高的进程 3.双击该进程&#xff0c;查看详情 \ 4. 获取cpu使用最好的线程tid 5. 查询sql_id select sql_id from v$session where paddr in( select addr from v$process where spid in(1…...

Python爬虫实战:研究MechanicalSoup库相关技术

一、MechanicalSoup 库概述 1.1 库简介 MechanicalSoup 是一个 Python 库,专为自动化交互网站而设计。它结合了 requests 的 HTTP 请求能力和 BeautifulSoup 的 HTML 解析能力,提供了直观的 API,让我们可以像人类用户一样浏览网页、填写表单和提交请求。 1.2 主要功能特点…...

深入浅出Asp.Net Core MVC应用开发系列-AspNetCore中的日志记录

ASP.NET Core 是一个跨平台的开源框架&#xff0c;用于在 Windows、macOS 或 Linux 上生成基于云的新式 Web 应用。 ASP.NET Core 中的日志记录 .NET 通过 ILogger API 支持高性能结构化日志记录&#xff0c;以帮助监视应用程序行为和诊断问题。 可以通过配置不同的记录提供程…...

MongoDB学习和应用(高效的非关系型数据库)

一丶 MongoDB简介 对于社交类软件的功能&#xff0c;我们需要对它的功能特点进行分析&#xff1a; 数据量会随着用户数增大而增大读多写少价值较低非好友看不到其动态信息地理位置的查询… 针对以上特点进行分析各大存储工具&#xff1a; mysql&#xff1a;关系型数据库&am…...

DAY 47

三、通道注意力 3.1 通道注意力的定义 # 新增&#xff1a;通道注意力模块&#xff08;SE模块&#xff09; class ChannelAttention(nn.Module):"""通道注意力模块(Squeeze-and-Excitation)"""def __init__(self, in_channels, reduction_rat…...

WEB3全栈开发——面试专业技能点P2智能合约开发(Solidity)

一、Solidity合约开发 下面是 Solidity 合约开发 的概念、代码示例及讲解&#xff0c;适合用作学习或写简历项目背景说明。 &#x1f9e0; 一、概念简介&#xff1a;Solidity 合约开发 Solidity 是一种专门为 以太坊&#xff08;Ethereum&#xff09;平台编写智能合约的高级编…...

OPenCV CUDA模块图像处理-----对图像执行 均值漂移滤波(Mean Shift Filtering)函数meanShiftFiltering()

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 在 GPU 上对图像执行 均值漂移滤波&#xff08;Mean Shift Filtering&#xff09;&#xff0c;用于图像分割或平滑处理。 该函数将输入图像中的…...

stm32wle5 lpuart DMA数据不接收

配置波特率9600时&#xff0c;需要使用外部低速晶振...

小智AI+MCP

什么是小智AI和MCP 如果还不清楚的先看往期文章 手搓小智AI聊天机器人 MCP 深度解析&#xff1a;AI 的USB接口 如何使用小智MCP 1.刷支持mcp的小智固件 2.下载官方MCP的示例代码 Github&#xff1a;https://github.com/78/mcp-calculator 安这个步骤执行 其中MCP_ENDPOI…...

写一个shell脚本,把局域网内,把能ping通的IP和不能ping通的IP分类,并保存到两个文本文件里

写一个shell脚本&#xff0c;把局域网内&#xff0c;把能ping通的IP和不能ping通的IP分类&#xff0c;并保存到两个文本文件里 脚本1 #!/bin/bash #定义变量 ip10.1.1 #循环去ping主机的IP for ((i1;i<10;i)) doping -c1 $ip.$i &>/dev/null[ $? -eq 0 ] &&am…...

LangChain【6】之输出解析器:结构化LLM响应的关键工具

文章目录 一 LangChain输出解析器概述1.1 什么是输出解析器&#xff1f;1.2 主要功能与工作原理1.3 常用解析器类型 二 主要输出解析器类型2.1 Pydantic/Json输出解析器2.2 结构化输出解析器2.3 列表解析器2.4 日期解析器2.5 Json输出解析器2.6 xml输出解析器 三 高级使用技巧3…...