多模态大模型PDF识别保姆级教程!从入门到精通,收藏这一篇就够了!
本文将会介绍两种pdf识别理解的方法。下面的内容都是在百炼大模型中实现的。首先,我通过同义qwen OCR的角度入手。我发现ocr可以识别图片但是,在处理pdf的过程中需要操作一下。
本文将会介绍两种pdf识别理解的方法。下面的内容都是在百炼大模型中实现的。
首先,我通过同义qwen OCR的角度入手。我发现ocr可以识别图片但是,在处理pdf的过程中需要操作一下。
我在文档中发现这么一段话:
通义千问OCR 是否支持处理 PDF、EXCEL、DOC 等文本文件吗?
不支持,通义千问OCR模型属于视觉理解模型,只能处理图片格式的文件,无法直接处理文本文件,但是推荐以下两种解决方案:
- 将文本文件转换为图片格式,但是注意转换后的图像尺寸可能过大,建议您将文件切分为多张图像并将max_pixels设置为更大的值(如最大值23520000),每张图像单独发起API请求。
- Qwen-Long是能用于处理文本文件的模型,您可以使用Qwen-Long模型解析文件内容。
所以,接下来我也会从这两方面进行处理。
通义千问OCR
通义千问OCR是一款专业的文字识别模型,专注于从文档、表格、试卷、手写体等多种图像类型中高效准确地提取文字内容。该模型具备多语言识别能力,目前支持汉语、英语、阿拉伯语、法语、德语、意大利语、日语、韩语、葡萄牙语、俄语、西班牙语、越南语等多种语言。
/// donepackage com.example.demo.test;import java.util.Arrays; import java.util.Collections; import java.util.Map; import java.util.HashMap; import com.alibaba.dashscope.aigc.multimodalconversation.MultiModalConversation; import com.alibaba.dashscope.aigc.multimodalconversation.MultiModalConversationParam; import com.alibaba.dashscope.aigc.multimodalconversation.MultiModalConversationResult; import com.alibaba.dashscope.common.MultiModalMessage; import com.alibaba.dashscope.common.Role; import com.alibaba.dashscope.exception.ApiException; import com.alibaba.dashscope.exception.NoApiKeyException; import com.alibaba.dashscope.exception.UploadFileException;public class 直接传入文本 { public static void simpleMultiModalConversationCall(String localPath) throws ApiException, NoApiKeyException, UploadFileException { String filePath = "file://"+"/幻灯片1.jpg"; MultiModalConversation conv = new MultiModalConversation(); Map<String, Object> map = new HashMap<>(); map.put("image", filePath); // 输入图像的最大像素阈值,超过该值图像会按原比例缩小,直到总像素低于max_pixels map.put("max_pixels", "6422528"); // 输入图像的最小像素阈值,小于该值图像会按原比例放大,直到总像素大于min_pixels map.put("min_pixels", "3136"); // 开启图像自动转正功能 map.put("enable_rotate", true); MultiModalMessage userMessage = MultiModalMessage.builder().role(Role.USER.getValue()) .content(Arrays.asList( map, // qwen-vl-ocr-latest未设置内置任务时,支持在以下text字段中传入Prompt,若未传入则使用默认的Prompt:Please output only the text content from the image without any additional descriptions or formatting. // 如调用qwen-vl-ocr-1028,模型会使用固定Prompt:Read all the text in the image.,不支持用户在text中传入自定义Prompt Collections.singletonMap("text", "# ********************* 系统提示 ***********************************\n" + "你是一个文档图像理解引擎。收到图片或 OCR 文本后,请**严格返回单个 JSON 对象**,结构必须与下方最小 JSON Schema 一致。所有文本输出必须为中文(字段名中的 _cn 表示中文文本)。禁止输出任何非 JSON 的内容、说明、注释或多余文字。若某字段无法识别请使用 null 或 []。\n" + "\n" + "## 输入字段(任意提供)\n" + " image_id, image_text, image_region_desc。\n" + "\n" + "## 任务说明\n" + "1、提取页面中的所有图片。\n" + " - 若页面有多张图片,请放到 images 数组中。\n" + " - 每张图片输出 title_cn、content_cn、keywords_cn 和 location。\n" + "2、location 包含:\n" + " - region_desc(文本位置描述,如“左上角”“正文下方”)\n" + " - bbox(边界框 [x1, y1, x2, y2],无则填 null)\n" + "3、输出必须严格遵守以下 JSON Schema,并且只返回该 JSON 对象。\n" + "\n" + "## 输出格式\n" + "{\n" + " \"image_id\": \"string or null\",\n" + " \"language\": \"zh|en|mixed|other|null\",\n" + " \"images\": [\n" + " {\n" + " \"image_index\": 1,\n" + " \"title_cn\": \"string or null\",\n" + " \"content_cn\": \"string or null\",\n" + " \"keywords_cn\": [\"string\", ...] or [],\n" + " \"location\": {\"region_desc\": \"string or null\", \"bbox\": [x1,y1,x2,y2] or null}\n" + " }\n" + " ]\n" + "}\n" + "\n" + "## Few-shot 示例\n" + "### 输入\n" + "image_id: \"page_001\"\n" + "image_text: \"图1 中国经济发展趋势图。说明:近年来中国GDP稳步增长,主要驱动力包括消费升级与科技创新。\"\n" + "image_region_desc: \"正文中部\"\n" + "### 输出\n" + "{\n" + " \"image_id\": \"page_001\",\n" + " \"language\": \"zh\",\n" + " \"images\": [\n" + " {\n" + " \"image_index\": 1,\n" + " \"title_cn\": \"中国经济发展趋势图\",\n" + " \"content_cn\": \"近年来中国GDP稳步增长,主要驱动力包括消费升级与科技创新。\",\n" + " \"keywords_cn\": [\"GDP\", \"经济发展\", \"消费升级\", \"科技创新\"],\n" + " \"location\": {\n" + " \"region_desc\": \"正文中部\",\n" + " \"bbox\": null\n" + " }\n" + " }\n" + " ]\n" + "}\n" + "\n"))).build(); MultiModalConversationParam param = MultiModalConversationParam.builder() // 若没有配置环境变量,请用百炼API Key将下行替换为:.apiKey("sk-xxx") .apiKey("sk-da9e07c03b5e4fabbad336d8023ebaad") .model("qwen-vl-max") .message(userMessage) .topP(0.001) .temperature(0.1f) .maxLength(8192) .build(); MultiModalConversationResult result = conv.call(param); System.out.println(result.getOutput().getChoices().get(0).getMessage().getContent().get(0).get("text")); } public static void main(String[] args) { try { // 将xxxx/test.jpg替换为您本地图像的绝对路径 simpleMultiModalConversationCall("xxx/test.jpg"); } catch (ApiException | NoApiKeyException | UploadFileException e) { System.out.println(e.getMessage()); } System.exit(0); }}
代码解释
一、程序初始化与入口
- 程序启动:
- 从
main
方法开始执行。 main
方法调用了simpleMultiModalConversationCall
方法,并传入一个本地图片路径(此示例中该参数未被使用,实际使用的是硬编码的路径)。
二、构建多模态请求消息
- 设置图像源与预处理参数:
- 代码首先定义了一个指向本地图片的绝对路径 (
filePath
)。 - 创建一个
HashMap
对象map
来存储图像信息及其预处理指令:
"image"
: 指定要分析的图像文件路径。"max_pixels"
和"min_pixels"
: 设置图像在处理前的像素缩放阈值,以确保图像尺寸在模型最佳处理的范围内。"enable_rotate"
: 开启图像自动旋转校正功能,用于纠正倾斜的文档。
- 构建系统提示与用户消息:
- 这是最核心的一步,代码构建了一个极其详细和严格的系统提示(System Prompt),作为
"text"
内容发送给模型。该提示定义了模型的角色、任务和输出格式:
- 角色定义:明确模型作为一个“文档图像理解引擎”,要求其行为必须严格遵守指令。
- 输入说明:告知模型可能会接收到哪些输入字段(如
image_id
,image_text
等)。 - 任务说明:要求模型执行提取页面中所有图片的任务,并为每张图片生成标题、内容描述、关键词和位置信息。
- 输出格式:强制要求模型必须以一个特定的 JSON 对象格式进行输出,并提供了完整的 JSON Schema 作为规范。任何额外文本或偏离格式的输出都是不允许的。
- 示例:提供了一个 Few-shot 示例,让模型更准确地理解所需的输入输出格式。
- 最终,图像参数 (
map
) 和系统提示文本被组合成一个MultiModalMessage
对象,其角色被设置为用户 (Role.USER
)。
三、配置模型参数并发起调用
- 配置模型调用参数:
- 使用
MultiModalConversationParam.builder()
来配置调用大模型所需的各项参数:
.apiKey(...)
: 设置认证所需的 API Key。.model("qwen-vl-max")
: 指定使用的模型为 “qwen-vl-max”(一个功能强大的多模态模型)。.message(userMessage)
: 传入上一步构建好的包含图像和指令的多模态消息。.topP(0.001)
和.temperature(0.1f)
: 将这两个控制生成随机性的参数设置得非常低,极大地限制了模型的创造性,强制其输出确定性高、格式严格的内容,这与系统提示的要求相匹配。.maxLength(8192)
: 设置模型响应的最大长度。
- 执行模型调用:
- 创建
MultiModalConversation
实例conv
。 - 调用
conv.call(param)
方法,传入配置好的参数,向阿里云百炼平台发起网络请求,并同步等待返回结果 (MultiModalConversationResult
)。
四、处理并输出结果
- 提取并打印结果:
- 从返回的复杂结果对象中,通过层层调用 (
getOutput().getChoices().get(0).getMessage().getContent().get(0).get("text")
) 提取出模型生成的核心文本内容。 - 这个文本内容就是模型根据系统提示生成的、符合预定 JSON Schema 的字符串。
- 使用
System.out.println
将该 JSON 字符串打印到控制台。
- 异常处理与程序退出:
- 整个调用过程被
try-catch
块包裹,用于捕获并打印可能发生的异常(如API认证失败、文件上传错误等)。 - 无论成功与否,最后都调用
System.exit(0)
结束Java虚拟机进程。
逻辑流程总结
准备数据(图像+指令)→ 配置模型 → 发起请求 → 解析并输出结果。整个过程旨在将非结构化的图像内容转化为结构化的数据,类似于通过AI模型完成了一项定制化的信息提取任务。
优势
但是我发现ocr模型的优势再此:
qwen-vl-ocr-latest模型全新升级,显著优势如下:
- 更强的适应性:智能旋转矫正功能,轻松应对图像倾斜挑战。
- 更专的识别力:新增六大内置OCR任务(通用、信息抽取、文档、表格、公式、多语言),精准覆盖核心应用场景。
- 更优的灵活性:既可使用内置优化指令保障效果,也支持自定义Prompt以满足特定需求,兼顾效率与灵活性。
模型限制
- 由于通义千问OCR模型是一个专用于文字提取的模型,对用户输入的其他文本的回答无法保证准确性。
- 用户需要在image参数中传入图像的URL或者Base64编码;如果请求中输入了多个图像,模型只会识别第一个图像,不支持对多图识别。
- • 通义千问OCR模型目前不支持多轮对话能力,只会对用户最新的问题进行回答。
- 当图像中的文字太小或分辨率低时,模型可能会出现幻觉。
感觉他在处理pdf可能并不是最最合适的。
Qwen-Long
- 常规长文本场景:推荐使用通义千问Plus或通义千问Flash,两者均支持高达100万Token的上下文,足以满足绝大多数需求。
- 超长文本分析与问答:若您需要处理超过百万级的超长内容,Qwen-Long模型是您的理想选择。它提供惊人的1,000万Token(约1,500万字)上下文窗口,支持上传完整文档并进行深度问答。更值得一提的是,其成本极具竞争力,输入低至0.0005元/千Token,相当于每1元可处理长达200万Token的文本。
场景示例:
Qwen-Long可以用于快速分析代码、网页、论文、报告、合同、书籍、规范手册、技术文档等。示例场景如下:
基于公司年报分析战略风险与机遇
为测试 Qwen-Long 的长文本处理能力,本次任务上传了某公司2015–2024年共10份10-K年报(PDF格式,每份约200页)。这些报告经审计并提交至纽约证券交易所,涵盖完整财务与业务信息,具备真实参考价值。
Prompt 要求:
- 提取每年报告核心内容(财务数据、管理讨论与分析);
- 生成2015–2024年报摘要,突出财务状况与重大事件;
- 详述2018年市场扩展策略及财务影响;
- 分析2019年公司面临的主要风险因素。
模型输出摘要:
- 每年核心内容提取
- 2015:关注信息系统安全,加强防护;美国市场收入受经济条件影响。
- 2016:强调信息安全与风险管理,美国营收占比高,经济波动带来潜在负面影响。
- 2017:信息系统攻击风险,加大人员与技术投入;美国市场收入及经济影响显著。
- 2018:税务改革法案导致其他负债增加;管理层对财报责任予以说明。
- 2019:收购咖啡公司,扩展热饮市场;管理层对财务报告责任重申。
- 2020:新冠疫情导致产品销售下降。
- 2021:疫情持续影响非家庭渠道销售。
- 2022:疫情与政府措施对全球业务产生冲击。
- 2023:经济压力下消费者转向低价产品,盈利能力承压。
- 2024:为应对供应链中断,主动增加库存。
- 2015–2024年报摘要
该公司在美国市场收入占比持续显著,常年面临信息安全和经济波动等风险。2018年通过收购咖啡公司拓展热饮市场。2020年起受疫情冲击销售下滑,公司采取增加库存等措施以应对供应链风险。
- 2018年市场扩展策略及财务影响
该公司于2018年收购一家咖啡公司,以增强在热饮市场的地位。此次收购带来市场份额扩大的预期,但同时受税务改革影响,其他负债因一次性过渡税而增加。
- 2019年主要风险因素
- • 信息系统可能遭受攻击,导致敏感信息泄露;
- • 美国经济状况不佳,可能抑制消费者需求,影响公司盈利与财务表现。
提示词
你是一个高可靠性的“文档图像理解引擎(Document Image Understanding Engine)”。你的任务是:**把上传的 PDF 文件(或已 OCR 的文本 + 关联图片)解析为结构化中文文本并按章节顺序输出**。请严格遵守以下规则(新增:图片描述精简且优先与段落主旨相关;必须去重):1. **唯一输出形式**:必须且仅返回一个顶层 JSON 对象(UTF-8 编码),禁止输出任何其它文本或多余字符。任何异常或说明应放在该 JSON 的 `processing_notes_cn` 或 `error_cn` 字段。 2. **语言**:所有字段名和字段值必须为中文(字段名可用英文下划线并以 `_cn` 结尾表示中文)。 3. **严格执行顺序**:处理**必须按章节顺序从第 1 章到最后一章逐章执行并输出**;顶层 `chapters` 数组需保持文档内出现顺序。 4. **第一步 — 段落识别(强制)**:在任何章节/分段识别之前,首先做页面级与段落级的文本块识别(识别页眉/页脚、自然段落、换行、缩进、对齐等),并把识别到的段落作为后续最小单元的基础。必须为每页返回 `page_paragraphs_cn`(按页的段落列表,保留段落原始 OCR 文本)。 5. **以最小字标题为最小输出单元**: - 优先使用目录(TOC)识别章节边界。 - 章节内部识别所有字标题(一级、二级、三级...),把**最小层级的字标题(最小字标题)**作为 `segment` 的边界。 - 若章节内无字标题,则以段落或按 `max_chars_per_segment`/按页规则拆分,自动生成 `segment_title_cn`。 6. **段落与 segment 定义**:每个 `segment`(最小字标题)必须包含:`subheading_cn`(最小字标题文本或 null)、有序的 `paragraphs_cn`(数组;每项包含 `para_id`、`raw_text_cn`、`clean_text_cn`)、`summary_cn`(对该最小字标题下所有段落的 1–3 行阐述)、`keywords_cn`(3–8 个)及关联 `images`(若有)。 7. **图片处理原则(精简且相关优先)**: - 图片描述必须**精简**并**以段落主旨为准**:仅保留与该 segment 主旨直接相关或补充说明性的视觉信息;与段落主旨无关的细节应省略。 - 若图片内包含大量文字且与段落文本重复,则只保留图片中文本中**与段落中未出现的**关键信息或简要标注“图片文字与段落重复,已省略”。 - 图片描述建议简短(例如 20–80 字),但必须能表达图片与段落主旨的关联与关键视觉要素。 - 图片字段包括:`image_id`、`page`、`bbox`(若不可得置为 null)、`image_type`、`caption_cn`(若有)、`ocr_on_image_cn`(如需保留图片内文字且非重复,否则可置为 null 或简化)、`description_cn`(精简描述,优先与段落主旨相关)、`chart_info`、`table_structured`。 - 若图片仅为装饰或与正文主旨无关,可将其标记为 `image_type: "other"` 并在 `description_cn` 中以一句话简短说明或省略详细描述。 8. **去重规则(强制)**: - 在 `page_paragraphs_cn`、`segments` 与 `images` 中必须对**重复文本或重复图片文字**执行去重:完全相同或高度重复的段落/句子应合并或标为重复并保留一次主条目;在被删除/合并的地方留下引用指针(如 `dup_of_para_id`)便于溯源。 - 若同一文字同时出现在正文与图片内,应优先保留正文中的那份并在图片对象中记录“与正文重复已省略”或只保留差异部分。 - `processing_notes_cn` 须列出去重策略和重要去重实例(例如“第3页第2段与第5页第1段高度重复,已合并为 para_id p12,原位置标注 dup_of_para_id:p12”)。 9. **图片与段落关联**:图片应关联到其所在的最小字标题(segment);若图片跨段或无法确定所属段,则挂在最近的上一最小字标题下并在 `processing_notes_cn` 中说明。 10. **分段规则可配置**:支持 `max_chars_per_segment`(默认 2000 汉字)、`split_by_page_threshold_pages`(默认 3 页)。但优先保证“最小字标题”为边界;仅在无字标题或单个字标题过长时使用这些阈值进行子拆分。 11. **文本清洗**:每个段落提供 `raw_text_cn` 与 `clean_text_cn`(去页眉页脚、页码、重复行等)。清洗过程须尽量保留语义并在 `processing_notes_cn` 中简述做了哪些清洗规则(例如“删除全局页眉‘公司名’与页码X/Y”)。 12. **处理记录与错误**:在 `processing_notes_cn` 中记录关键决策(包括去重操作、图片简化策略、段落识别异常等),遇不可处理问题在 `error_cn` 中说明。 13. **安全与合规**:若含敏感信息,按原文返回并在 `processing_notes_cn` 标注“包含敏感内容,建议人工复核”。 14. **严格 Schema**:遵守下方“输出 JSON 最小 Schema”。字段若无法获取应为 `null` 或空数组,但字段必须存在。 我将上传或附上 PDF 文件(或 OCR 文本 + 关联图片)。请按照系统提示要求解析并以单个 JSON 对象返回。注意:**必须先识别段落再做分段;以最小字标题作为最小输出单元;按章节顺序逐章执行并输出;图片描述需精简且优先与段落主旨相关;必须对重复内容进行去重并在 processing_notes_cn 中记录**。以下为可选参数与示例输入格式,请严格遵守:输入说明(你将收到下列字段之一或多个):- file_attachment: (实际上传的 PDF 文件,或给出文件 ID / 路径)- ocr_texts: (当用户已给出 OCR 文本时,按页数组形式提供,每项包含 page_number 和 text)- images: (额外单独上传的图片数组,若与 PDF 页面关联请标注 page)- params: { "max_chars_per_segment": 2000, // 整数,默认 2000 汉字 "split_by_page_threshold_pages": 3, // 整数,默认 3 页 "language_hint": "zh" // 处理语言提示 }任务流程要求(强制):1. **第一步**:进行页面级与段落级识别,输出 `page_paragraphs_cn`(按页的段落数组,保留段落原始 OCR 文本)。在此阶段不要去重段落,只进行识别与定位。 2. **第二步**:识别章节边界(优先 TOC),按章节顺序从第 1 章处理到最后一章。 3. **第三步**:在每章内部识别所有字标题,确定最小字标题(最细的标题层级),并以该最小字标题为一个 `segment`。如果没有字标题则以段落为最小单元。 4. **第四步(去重)**:在生成 `segments` 与最终输出前执行全文件范围的去重合并:合并完全重复或高度重复的段落/句子,记录 `dup_of_para_id` 引用,并在 `processing_notes_cn` 记录去重策略与关键合并项。 5. 每个 `segment` 必须按序返回以下字段: - `segment_id`、`subheading_cn`(最小字标题,若无则为 null 或自动生成)、`segment_title_cn`、`page_range`、`paragraphs_cn`(有序数组;每项包含 `para_id`、`raw_text_cn`、`clean_text_cn`)、`summary_cn`(1–3 行对该最小字标题的阐述)、`keywords_cn`(3–8 个)。 - `images`:与该 segment 关联的图片列表(若无则空数组)。图片描述应精简,重点描述与段落主旨相关的视觉信息;若图片文字与正文重复则仅保留差异或标注“重复已省略”。 6. 图片如果跨段或所属不明确,挂到最近的上一最小字标题下并在 `processing_notes_cn` 中说明。 7. 顶层返回 `processing_notes_cn`(数组)和 `error_cn`(null 或 错误说明)。 `processing_notes_cn` 必须包含去重摘要(如合并了哪些 para_id)和图片简化说明。 8. 输出必须是**单一 JSON 对象**(顶层),且 `chapters`、每个 `segments` 内的 `paragraphs_cn` 均按文档中出现的顺序排列(不得乱序)。最小输出 JSON Schema(必须包含下列字段):{ "document_metadata": { "title_cn": "string or null", "author_cn": "string or null", "language_cn": "zh", "page_count": 0, "has_toc": true or false, "toc_entries": [{"title_cn":"string","page":0}] or [] }, "page_paragraphs_cn": [ // 强制返回:按页的段落识别结果,便于溯源(此阶段不去重) { "page": 0, "paragraphs": [ {"para_id":"p1","raw_text_cn":"string","clean_text_cn":"string"} ] } ], "chapters": [ { "chapter_id": "string", "chapter_title_cn": "string", "start_page": 0, "end_page": 0, "chapter_summary_cn": "string", "chapter_keywords_cn": ["string"], "segments": [ { "segment_id": "string", "subheading_cn": "最小字标题文本 or null", "segment_title_cn": "string", "page_range": [0,0], "paragraphs_cn": [ {"para_id":"p1","raw_text_cn":"string","clean_text_cn":"string","dup_of_para_id": null or "pX"} ], "summary_cn": "string", "keywords_cn": ["string"], "images": [ { "image_id": "string", "page": 0, "bbox": [x,y,w,h] or null, "image_type": "figure|table|chart|photo|diagram|other", "caption_cn": "string or null", "ocr_on_image_cn": "string or null", // 如与正文重复可置为 null 或仅保留差异 "description_cn": "精简描述,优先与段落主旨相关(建议 20–80 字)", "chart_info": { "chart_type":"line|bar|pie|scatter|other","x_axis_cn":"string","y_axis_cn":"string","main_points_cn":["string"] } or null, "table_structured": { "rows": n, "cols": m, "cells": [[...]] } or null } ] } ] } ], "processing_notes_cn": ["string", "..."], // 必须包含去重摘要和图片精简说明 "error_cn": null}示例(最简短示意):{ "document_metadata": { "title_cn":"示例", "author_cn":"张三", "language_cn":"zh", "page_count":10, "has_toc":true, "toc_entries":[{"title_cn":"第1章","page":1}] }, "page_paragraphs_cn":[ {"page":1,"paragraphs":[{"para_id":"p1","raw_text_cn":"原始 OCR ...","clean_text_cn":"已清洗文本..."}]} ], "chapters":[ { "chapter_id":"ch1", "chapter_title_cn":"第1章 绪论", "start_page":1,"end_page":2, "chapter_summary_cn":"本章介绍背景。", "chapter_keywords_cn":["背景","目的"], "segments":[ { "segment_id":"ch1_s1", "subheading_cn":"1.1 研究背景", "segment_title_cn":"第1章 — 1.1 研究背景", "page_range":[1,1], "paragraphs_cn":[{"para_id":"p1","raw_text_cn":"(OCR)","clean_text_cn":"本章首先说明研究背景...","dup_of_para_id":null}], "summary_cn":"介绍研究背景与动机。", "keywords_cn":["背景","动机"], "images":[ { "image_id":"img_p1_1", "page":1, "bbox":null, "image_type":"figure", "caption_cn":"图1 系统框架", "ocr_on_image_cn":null, "description_cn":"系统框架图,示意输入→处理→输出的模块关系,补充说明数据流向(已简化)。", "chart_info":null, "table_structured":null } ] } ] } ], "processing_notes_cn":["第一步执行段落识别并生成 page_paragraphs_cn;全文件执行去重并合并重复段落(例如 p3 与 p12 合并为 p3);图片描述已按段落主旨精简。"], "error_cn":null}请开始处理我上传的文件(或返回 JSON 说明为何无法处理)。
重要说明:
其实还是有许多需要优化的地方,如果pdf传入过大,他在输出一个阶段后会停止输出。我想到的是先对pdf进行一个预处理。相应的裁剪到每次输入的pdf都在5页以内。但是这样又会导致上下文的割裂,在这里应该还需要将上一段的文本分析内容给到大模型,让其有一个上下文的环境理解。
限制
- • **文件上传限制:**文件格式支持文本文件( TXT、DOCX、PDF、XLSX、EPUB、MOBI、MD、CSV),图片文件(BMP、PNG、JPG/JPEG、GIF 以及PDF扫描件)。图片格式文件大小限制为20M,其他格式文件大小限制为 150MB。单个阿里云账号最多可上传 1 万个文件,总文件大小不得超过 100GB。
- • 输入限制:
- • 请避免直接将文档内容放在
role
为user
的message中,用于role-play的system
和user
的message限制输入最长为9,000 Token(连续多条user message视为一条user message且长度限制在9,000 Token内)。 - • 通过
文件ID
传入文档信息,并在system
消息中使用返回的文件ID
时,content 的最大输入限制可扩展至 10,000,000 Token,但文件ID
的数量限制为不超过 100 个。此外,文件的传入顺序将直接影响模型返回结果的顺序。
常见问题
Q:Qwen-Long 是否支持通过 System Message 指定模型行为?
A: 支持。您可通过 System Message 规范模型行为,具体使用方法请参阅上方的「快速开始」部分。
Q:如何在 JSON 格式中组织文档信息?
A: 请参考「通过 JSON 字符串传入文档信息」部分的说明。在组织消息时,建议按以下字段结构构建 JSON,以避免格式错误:
- •
content
:文档内容 - •
file_type
:文档类型 - •
filename
:文档名称 - •
title
:文档标题
Q:Qwen-Long 是否支持流式回复?
A: 支持。只需将 stream
参数和 stream_options
中的 include_usage
设置为 True,模型即可以流式形式返回结果,并在最终通过 usage
字段提供 Token 使用情况。
Q:是否支持批量提交任务?
A: 支持。Qwen-Long 兼容 OpenAI Batch 接口,支持以文件方式异步提交批量任务,按实时调用费用的 50% 计费。任务将在完成后或超时后返回结果。
如何学习大模型 AI ?
我国在AI大模型领域面临人才短缺,数量与质量均落后于发达国家。2023年,人才缺口已超百万,凸显培养不足。随着Al技术飞速发展,预计到2025年,这一缺口将急剧扩大至400万,严重制约我国Al产业的创新步伐。加强人才培养,优化教育体系,国际合作并进,是破解困局、推动AI发展的关键。
但是具体到个人,只能说是:
“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。
这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。
我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。
我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
2025最新大模型学习路线
明确的学习路线至关重要。它能指引新人起点、规划学习顺序、明确核心知识点。大模型领域涉及的知识点非常广泛,没有明确的学习路线可能会导致新人感到迷茫,不知道应该专注于哪些内容。
对于从来没有接触过AI大模型的同学,我帮大家准备了从零基础到精通学习成长路线图以及学习规划。可以说是最科学最系统的学习路线。
针对以上大模型的学习路线我们也整理了对应的学习视频教程,和配套的学习资料。
大模型经典PDF书籍
新手必备的大模型学习PDF书单来了!全是硬核知识,帮你少走弯路!
配套大模型项目实战
所有视频教程所涉及的实战项目和项目源码等
博主介绍+AI项目案例集锦
MoPaaS专注于Al技术能力建设与应用场景开发,与智学优课联合孵化,培养适合未来发展需求的技术性人才和应用型领袖。
这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费
】
为什么要学习大模型?
2025人工智能大模型的技术岗位与能力培养随着人工智能技术的迅速发展和应用 , 大模型作为其中的重要组成部分 , 正逐渐成为推动人工智能发展的重要引擎 。大模型以其强大的数据处理和模式识别能力, 广泛应用于自然语言处理 、计算机视觉 、 智能推荐等领域 ,为各行各业带来了革命性的改变和机遇 。
适合人群
- 在校学生:包括专科、本科、硕士和博士研究生。学生应具备扎实的编程基础和一定的数学基础,有志于深入AGI大模型行业,希望开展相关的研究和开发工作。
- IT行业从业人员:包括在职或失业者,涵盖开发、测试、运维、产品经理等职务。拥有一定的IT从业经验,至少1年以上的编程工作经验,对大模型技术感兴趣或有业务需求,希望通过课程提升自身在IT领域的竞争力。
- IT管理及技术研究领域人员:包括技术经理、技术负责人、CTO、架构师、研究员等角色。这些人员需要跟随技术发展趋势,主导技术创新,推动大模型技术在企业业务中的应用与改造。
- 传统AI从业人员:包括算法工程师、机器视觉工程师、深度学习工程师等。这些AI技术人才原先从事机器视觉、自然语言处理、推荐系统等领域工作,现需要快速补充大模型技术能力,获得大模型训练微调的实操技能,以适应新的技术发展趋势。
课程精彩瞬间
大模型核心原理与Prompt:掌握大语言模型的核心知识,了解行业应用与趋势;熟练Python编程,提升提示工程技能,为Al应用开发打下坚实基础。
RAG应用开发工程:掌握RAG应用开发全流程,理解前沿技术,提升商业化分析与优化能力,通过实战项目加深理解与应用。
Agent应用架构进阶实践:掌握大模型Agent技术的核心原理与实践应用,能够独立完成Agent系统的设计与开发,提升多智能体协同与复杂任务处理的能力,为AI产品的创新与优化提供有力支持。
模型微调与私有化大模型:掌握大模型微调与私有化部署技能,提升模型优化与部署能力,为大模型项目落地打下坚实基础。
顶尖师资,深耕AI大模型前沿技术
实战专家亲授,让你少走弯路
一对一学习规划,职业生涯指导
- 真实商业项目实训
- 大厂绿色直通车
人才库优秀学员参与真实商业项目实训
以商业交付标准作为学习标准,具备真实大模型项目实践操作经验可写入简历,支持项目背调
大厂绿色直通车,冲击行业高薪岗位
文中涉及到的完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费
】
更多推荐
所有评论(0)