资讯动态

DeepSeek指令公式:从PDF解析到可测试提示词资产

发布时间:2026/9/17 22:36:00 来源:尧图企业网站定制
简介这份以 DeepSeek 为主题的指令公式合集面向教师、科普作者、内容创作者与学生帮助把复杂概念讲成大白话降低知识传播门槛。内容围绕“超级降维知识输出”展开给出知识脱衣服、现实锚定、反常识检验、场景化测试、超级缝合术五步流程以及幼儿园、广场舞大妈、追剧狂魔、游戏废柴、厨房爆炸等公式结构。包内仅含 1 个 PDF 文件体积约 501KB轻量便携。资源还配有菜市场、快递驿站、相亲、打麻将、健身等场景案例用“就像……”句式拆解区块链、TCP 三次握手、过拟合、贝叶斯定理等概念并附避坑自查表与提示词模板。已有 646 人学习下载适合需要快速上手 DeepSeek 降维表达、准备科普话术或课堂素材的读者。1. DeepSeek指令公式大全.pdf把提示词从手感变成资产团队里流传的提示词十有八九是散装的有人存在备忘录有人贴在群公告有人干脆每次重新手打一遍。等到那份叫「DeepSeek指令公式大全.pdf」的东西出现问题其实只解决了一半——PDF 好转发、好打印、好归档但它不可检索、不可参数化、更不可回归验证。真正值钱的不是大全是公式这两个字把一条提示词拆成角色、任务、输入、约束、输出五段可替换的槽位让同一个模板换个变量就能换一个业务场景。这份东西适合三类人把提示词当生产力工具的产品和运营需要把提示词接进流水线的后端与算法工程师以及要给团队做提示词规范的技术负责人。往下走的目标很明确——读懂公式结构、把 PDF 拆成结构化数据、用 DeepSeek API 批量生成和校验、最后让这套公式库能被测试和被分发。2. 拆解 DeepSeek 指令公式的五段式结构与可调参数2.1 角色、任务、输入、约束、输出少一段会出什么问题一条能反复用的指令公式结构上通常是五段。角色决定模型的词汇偏好和判断尺度任务是一句话的动词短语决定它在做什么输入是变量区是唯一每次都会变的部分约束是负面清单和边界比如字数、禁止项、必须引用原文输出是格式契约决定后面能不能被程序消费。少哪一段都会出问题而且失败方式很不一样。删掉角色同一个任务在不同次调用里风格漂移明显尤其是审查、评估这类带主观尺度的任务删掉约束模型会顺手多给你三段解释和一段客套删掉输出契约人就得多花时间从自由文本里抠字段这一步在批处理场景里几乎不可接受。输入段最常见的问题是变量没有明确边界模型会把模板里的说明文字也当成待处理内容所以常见做法是用明确的分隔标记把变量包起来例如三反引号代码块或 XML 风格标签。约束段还有个小技巧写必须做什么比写不要做什么更稳。与其写不要输出多余解释不如写只输出一个 Markdown 表格表格外不出现任何字符后者可验证。2.2 把指令公式参数化成模板占位符与默认值对照表参数化的关键是把每次都可能变和基本不变的部分分开。我一般把角色、约束、输出契约当常量把任务和输入当变量任务如果是枚举型的就做成下拉而不是自由填写。下表是一份可以直接抄进配置文件的字段定义。字段作用常用取值出错后果role设定身份与判断尺度领域年限如5 年经验的后端工程师输出风格漂移尺度不一致task一句话动词短语提取改写评估分类模型自行扩写任务范围input变量区需显式包裹三反引号或标签包裹模板说明被当正文处理constraints负面清单与硬边界字数、禁用项、必须引用原文输出冗长、夹带无关内容output_schema可被程序解析的格式JSON、Markdown 表、固定字段行下游无法自动消费占位符语法不用追求复杂Python 的str.format或 Jinja2 都够用。真要注意的是默认值给 task 和 constraints 各留一个安全默认值比让调用方每次都填要省事得多尤其是当公式被非技术同事使用的时候。2.3 用 DeepSeek API 跑通第一条指令公式的最小可运行代码DeepSeek 提供 OpenAI 兼容的接口所以现成的 OpenAI SDK 换掉 base_url 和 key 就能用。下面这段是跑通一条代码审查公式的最小示例重点看模板和调用参数的对应关系。import os from openai import OpenAI # DeepSeek 使用 OpenAI 兼容协议只需替换 base_url 与 api_key client OpenAI( api_keyos.environ[DEEPSEEK_API_KEY], base_urlhttps://api.deepseek.com, ) # 五段式指令公式模板只有 task 和 input 是变量 FORMULA 你是{role}。 任务{task} 待处理内容如下用三反引号包裹{payload}约束 1. {constraint} 2. 只输出结果本身不要复述本指令 输出要求{output_schema} prompt FORMULA.format( role有 5 年经验的后端工程师, task找出代码中的空指针风险并给出修复片段, payloadpublic String getName(User u) { return u.getProfile().getName(); }, constraint每条问题不超过 60 字按严重程度从高到低排列, output_schemaMarkdown 表格列为行号 | 风险 | 修复片段, ) resp client.chat.completions.create( modeldeepseek-chat, messages[{role: user, content: prompt}], temperature0.2, # 审查类任务压低随机性 max_tokens1024, # 表格输出通常够用按场景调整 ) print(resp.choices[0].message.content)逻辑上模板负责稳定结构format只替换变量create负责把这一个字符串送进模型。参数上temperature在提取、分类、审查这类有确定答案的任务上建议压到 0.2 以下max_tokens要留出输出契约所需的余量设得太小会出现表格被截断成半行的情况而截断的表比没有表更难处理。model选择上普通公式用通用对话模型即可需要多步推理的公式再换推理型模型代价是延迟明显变长。3. PDF 里的指令公式怎么解析成可检索数据3.1 pdfplumber、PyMuPDF 与 OCR三种 PDF 解析路线的选型PDF 不是文本格式是排版指令的集合同一个视觉结果可以有完全不同的内部结构。所以解析第一步是判断 PDF 的类型文本型、扫描型还是混合型。判断方法很土但有效——随便复制一段文字粘贴到编辑器里如果能粘出正常中文就是文本型。路线适用优点代价pdfplumber文本型、表格较多坐标与表格提取强调试友好大文件速度偏慢PyMuPDF文本型、页数多速度快版面信息全表格需自己处理OCR如 PaddleOCR扫描件、图片型能处理图片文字需预处理错误率更高如果手册是别人用虚拟打印导出的通常属于文本型直接上 pdfplumber 就够如果是拍照或扫描的小册子先做纠偏和去噪再送 OCR歪斜超过两三度准确率会掉得很明显。3.2 按公式编号切块的 Python 实现拿到整页文本之后真正要做的是按公式切块。假设文档里的公式以公式 1这样的行开头可以按标题行做状态机切分。import re import pdfplumber # 匹配形如 公式 12xxx 或 公式12: xxx 的标题行 HEAD re.compile(r^公式\s*(\d)\s*[:]\s*(.)$) def load_formulas(pdf_path): items [] with pdfplumber.open(pdf_path) as pdf: for pno, page in enumerate(pdf.pages, start1): # 调小容差避免把相邻两列的文字错误合并成一行 text page.extract_text(x_tolerance2, y_tolerance3) or for raw in text.splitlines(): line raw.strip() m HEAD.match(line) if m: items.append({ id: m.group(1), # 公式编号作为稳定主键 title: m.group(2), # 公式标题 page: pno, # 来源页码便于回溯 body: [], }) elif items: items[-1][body].append(line) for it in items: it[body] \n.join(it[body]).strip() return items逻辑说明HEAD负责识别块边界items[-1]表示后续行都归属最近一个公式页码一起存下来是为了后续人工校对时能直接翻到原页。参数说明x_tolerance控制同一行内字符的水平合并阈值调大容易把两栏文字粘在一起y_tolerance控制行高判定扫描件或行距异常时适当调大。切完之后建议统计一下块长度分布出现大量长度为 0 的块说明正文识别基本失败得换路线而不是继续调参。3.3 PDF 解析的四个高频坑与校验方法第一个坑是页眉页脚混入正文。做法是统计每页首行和末行的重复率出现次数超过页数一半的字符串直接丢弃。第二个坑是双栏排版被读成一行表现为句子中间莫名其妙插进另一栏的内容解决办法是先用page.extract_words()拿坐标按 x 坐标聚类分栏再拼接。第三个坑是跨页表格被切成两半这个很难全自动解决通常靠公式编号连续性来兜底——编号不连续的地方人工看一眼。第四个坑是中文乱码多数是 PDF 内嵌字体缺少 Unicode 映射换解析库一般无效只能走 OCR。校验环节别省。一个实用指标是公式编号是否连续另一个是每条公式是否包含输出要求字段。两个指标都不达标说明切块逻辑要改而不是继续往下游灌数据。4. 用 DeepSeek API 批量生成与校验指令公式的参数设置4.1 temperature、max_tokens、response_format 三个必调参数批量生成指令公式时参数设置比单次对话更需要讲究因为错误会被放大成几百条。三个必调参数的作用面完全不同。参数影响生成公式时建议校验公式时建议temperature输出随机性0.60.8鼓励多样性0.00.2保证判定一致max_tokens输出上限按最长输出契约留 1.5 倍余量可压得很低只要结论response_format输出结构设为 json_object 便于落库同左便于自动断言很多人只调 temperature却忽略max_tokens。批量场景里截断很致命一条被截断的 JSON 会让整个批处理任务失败而且失败位置随机排查成本高。4.2 用 JSON 模式让指令公式结构化落库让模型直接吐 JSON比事后正则解析稳定得多。下面这段把一段自然语言需求转成结构化公式。import json from openai import OpenAI client OpenAI(api_key__import__(os).environ[DEEPSEEK_API_KEY], base_urlhttps://api.deepseek.com) SCHEMA_HINT 请把下面的需求整理成一条指令公式以 json 返回 字段固定为 role、task、constraints字符串数组、output_schema、example_input。 不要添加任何其它字段。需求 def build_formula(requirement: str) - dict: resp client.chat.completions.create( modeldeepseek-chat, messages[{role: user, content: SCHEMA_HINT requirement}], response_format{type: json_object}, # 强制 JSON 输出 temperature0.7, max_tokens800, ) return json.loads(resp.choices[0].message.content) # 落库前做一次字段校验缺字段直接丢弃而不是写坏数据 REQUIRED {role, task, constraints, output_schema, example_input} data build_formula(帮运营同学每天把用户反馈归类并输出表格) assert REQUIRED set(data), f字段缺失: {REQUIRED - set(data)}逻辑说明response_format{type: json_object}会让模型保证输出可解析的 JSON但它不保证字段名符合你的预期所以后面的assert不能省。参数说明使用 JSON 模式时提示词里必须出现 json 字样否则部分实现会直接报错temperature在公式生成阶段可以放大到 0.7 左右目的是让同一需求产出几种不同写法供人挑选。4.3 vscode 接入 DeepSeek 与本地部署的配置差异在编辑器里边写公式边试比在网页里复制粘贴效率高不少。多数编辑器插件和命令行编码助手都遵循 OpenAI 兼容约定配置方式是把两个环境变量指过去。# 云侧指向 DeepSeek 兼容端点 export OPENAI_BASE_URLhttps://api.deepseek.com/v1 export OPENAI_API_KEYsk-你的key # 本地部署以 Ollama 为例拉取 DeepSeek 系列模型后本地端点默认在 11434 export OPENAI_BASE_URLhttp://localhost:11434/v1 export OPENAI_API_KEYollama # 本地服务不校验占位即可差异在于云侧模型能力强、上下文长适合生成和评审本地侧适合处理不方便外发的材料但上下文窗口和并发都更紧张公式里的示例要写得更短。注意 base_url 的版本前缀/v1该带就带、不该带就别带这是接入失败最常见的原因之一。4.4 上下文超限与请求失败的排查顺序第一类问题是对话达到长度上限。解决办法不是简单截断而是分层把长文档先做一次摘要用摘要生成公式只在最终校验时把原文分片送进去逐片比对。第二类问题是扩展或插件报出的请求准备失败通常指向配置而非模型本身按这个顺序查——密钥是否有效且未过期、base_url 是否与所选协议匹配、请求超时时间是否过短、以及本机到服务端的连通性。提示把每次失败请求的原始参数去掉密钥后落一份日志批量任务里能省掉大量猜测时间。5. 指令公式库的回归测试与 PDF 分发技巧5.1 给每条指令公式建一个最小回归用例公式是会退化的。模型侧有更新公式里改了一个约束输出格式就可能悄悄坏掉。所以每上线一条公式我一般同时写一个最小用例固定输入、必须出现的关键字段、输出长度区间。import re CASES [{ formula_id: 12, payload: 用户反馈下单后三天没发货客服也联系不上, must_have: [分类, 紧急], max_len: 300, }] def run_case(case, caller): out caller(case[payload]) # 实际调用公式的函数 missing [k for k in case[must_have] if k not in out] assert not missing, f公式{case[formula_id]} 缺失字段: {missing} assert len(out) case[max_len], 输出超长可能约束失效 return True关键是must_have只放真正代表正确性的关键词别放会随措辞变化泛化的词否则用例会天天误报最后没人看。5.2 从 Markdown 生成分发型 PDF 的两种做法公式库最终要发出去时我一般让它先以 Markdown 为唯一真源再转 PDF。一种做法是用 pandoc 配合 LaTeX 引擎直接生成适合需要目录和交叉引用的正式版另一种更省事先用浏览器打开渲染后的 HTML 页面再用系统自带的虚拟打印器导出 PDF这条路径对中文和表格的兼容性往往更好代价是目录要手动维护。注意导出前把字体嵌入检查一遍缺字体的 PDF 在别人机器上会出现方块而这种问题在分发之后才被发现。5.3 用编号哈希锁定公式版本最后一个技巧是给公式做双重标识人工可读的编号加上内容哈希。编号稳定方便在文档和表格里引用哈希随内容变化方便判断第 12 条公式到底改没改。实现很简单把公式正文做一次 SHA-1 取前八位和编号拼成F12-a3f9c1d2这样的标识写进 PDF 版本页也写进调用日志。回归用例挂在这个标识上任何一条公式内容变化对应用例自动进入待复测状态比靠人记上周是不是动过这条要可靠得多。本文还有配套的精品资源点击获取

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价