ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

用Qwen3.8-Max搭建电商商品资料合规审核助手

用Qwen3.8-Max搭建电商商品资料合规审核助手 1. 这个项目是怎么冒出来的先交代一下背景。我平时既要管店铺运营又要兼着盯商品合规最头疼的事情就是每上一个新品手头会堆出一大摞资料。按照平台的规范上架前至少要准备商品基础信息表、标题和卖点文案、详情页文案、规格参数表、活动话术、售后FAQ再配上一张主图运气好是6份文件运气差可能还有质检报告、授权书、吊牌图、包装图。这些资料格式还不一样有Excel、Word、PDF扫描件偶尔还有一张乱糟糟的商品主图。以前我靠人肉一个字一个字审6份资料过一遍差不多要三四个小时而且经常漏。最气人的是上个月一款保温杯的上架资料我在详情页里写了“长效保温24小时”参数表里写的是“6小时深度保温”结果被平台抽检抓到下架整改加扣分申诉来回折腾两天。那会儿我就想能不能用大模型把这套审核流程自动化把6份资料和1张商品图一次性丢进去直接告诉我哪里有问题、严重程度、改怎么改。于是就有了这个项目用 Qwen3.8-Max 搭一个电商商品资料包体检助手。实测第一次完整跑完从6份资料和1张主图里一共查出27个问题其中至少有5个是人工审核大概率会漏掉的。这篇文章我会把整体设计思路、prompt写法、代码实现、踩过的坑全部摊开讲想抄作业的直接抄想了解原理的也能看明白。2. 整体设计规则代码做语义靠大模型2.1 为什么选 Qwen3.8-Max 而不是本地小模型做这个助手之前我其实先试过本地部署7B、14B级别的模型跑是能跑但有两个问题。第一是长文本处理能力不够6份资料拼起来差不多8000多字小模型读着读着就开始“失忆”前面文件里的问题它后面就忘了。第二是中文电商场景的语义理解有差距你跟它说“疑似夸大宣传”它能识别但让它判断“主要成分是草本”算不算暗示医疗功效它就含糊了。Qwen3.8-Max 这种旗舰API模型优势在于长上下文能力、中文语义理解精准而且我只需要调接口不用管显卡、不用管部署按量付费。对于大多数中小商家来说这是最省事的路径。你不需要懂训练、懂微调会写Python、会写prompt就能把事办了。提醒一句如果你也想复现核心不是模型选谁而是“哪些检查交给代码哪些检查交给模型”。这个划分如果不清晰后面会非常难调。2.2 架构拆解解析、拼装、检查、汇总整个助手的流程分成5步解析文件Excel用openpyxl或pandas读Word用python-docx读PDF如果是文字版直接提取扫描版先用OCR转文字主图用OCR识别图中文字。统一文本格式把每个文件转成带“文件名内容”的纯文本这样模型能知道每段信息来自哪个文件。拼接文本块6份资料加1张图的OCR结果按业务逻辑顺序拼接太长就分段。调用大模型检查system prompt里放审核规则user prompt里放拼接好的资料让Qwen3.8-Max按JSON格式输出问题列表。汇总报告解析模型返回的JSON转成Excel或Markdown报告按问题严重程度排序。这里的关键设计是规则引擎和大模型分工。比如“标题是否含极限词”“划线价是否异常”这类有明确判断标准的问题我直接用代码写死规则既不消耗token又100%准确。而“文案是否有医疗暗示”“商品卖点是否与参数冲突”“话术是否涉嫌诱导未成年购买”这类必须靠语义理解的才交给大模型判断。2.3 为什么不分6次逐份检查而是拼一起体检我一开始也想过把每份资料单独丢给模型各查各的最后再合并。但试了几次发现单独检查会漏掉“资料之间的一致性问题”。最典型的就是详情页写“保温12小时”参数表写“保温6小时”这种跨文件矛盾逐份检查根本发现不了。所以后来我坚持把6份资料拼成一个整体让模型做一致性交叉比对。这也是这个助手价值最高的地方。人工审核最容易漏的往往不是单个文件里的错误而是文件之间互相打架。资料包体检的意义就是把这些“内部矛盾”一次性揪出来。3. 27个问题是这么定义出来的3.1 问题清单来源开始写prompt之前我先翻了过去半年店铺被平台提醒、处罚过的案例又对照平台规则整理了高频违规点最后结合人工审核踩过的坑初步列了30多条。后来筛掉一些重复项合并成27类问题分成五大类。分类问题编号说明标题类01-04极限词、违禁词、关键词堆砌、标题与主图不一致参数类05-11属性冲突、单位错误、SKU缺失、参数与资质不符文案类12-18医疗功效词、夸大宣传、绝对化用语、来源不明数据价格促销类19-23活动价不一致、划线价异常、虚构促销时限、优惠条件不符图片类24-27主图文字与标题冲突、图片极限词、分辨率过低、未授权标识实际操作时我不要求模型严格按编号输出而是让它在每条问题里带上一个“type”字段方便最后归类。27这个数字不是拍脑袋是过去半年真实踩坑的映射。3.2 system prompt 的写法要点这部分是整个项目最核心的我直接放一个精简版的prompt你可以参考。你是一名资深的电商合规审核专家擅长审核商品上架资料包。 下面我会给你商品基础信息表、标题与卖点文案、详情页文案、 规格参数表、营销活动话术、售后FAQ、主图OCR文字。 请你从以下维度进行交叉审核 1. 标题是否含极限词、违禁词、关键词堆砌。 2. 标题与主图文案是否一致卖点是否冲突。 3. 规格参数是否有单位错误、属性冲突、SKU缺失。 4. 详情页是否有医疗功效、夸大宣传、绝对化用语。 5. 营销话术是否有虚构促销时限、价格逻辑错误。 6. 售后话术是否违反消费者权益保护原则。 7. 跨文件之间的参数、质保期、价格是否一致。 8. 主图文字是否含广告法违禁内容。 输出要求 - 只输出JSON数组不要输出多余解释。 - 每条问题包含字段 { id: 问题编号, level: high|mid|low, source: 问题来源文件, content: 具体问题描述, suggestion: 修改建议 } - 如果同一问题出现在多个文件中建议合并为一条 但在 source 字段中标注所有涉及文件。 - 检查不出问题时输出空数组 []。这里有两个小技巧。第一明确告诉模型“只输出JSON”否则它喜欢在结果前后加说明解析很麻烦。第二定义好字段结构后面解析代码就不用做大量兼容。注意prompt中的“问题维度”尽量不要超过10条太多会让模型注意力分散。我一开始把27类问题全部写进prompt结果模型反而漏检。后来改成“只列8个大类细节靠模型理解”准确率反而上来了。3.3 参数设置温度调到0.1调用Qwen3.8-Max的时候我把temperature设置成0.1top_p设置成0.9。这种审核类任务需要的是稳定可控的输出不是创造性和发散性。你要是用默认参数模型可能同一个问题换个说法给你报3遍或者给出模棱两可的表述。审核场景里宁可它少说一点也不要它胡编。4. 实操过程从一堆文件到体检报告4.1 第一步搭好项目骨架我用Python写了一个脚本结构很简单核心就一个主文件。第一次做的时候不要一上来就搞工程化、搞类继承用一个脚本把流程跑通再慢慢优化。import json import openpyxl import docx import pytesseract from PIL import Image from openai import OpenAI client OpenAI( api_key你的API_Key, base_url你的API调用地址 )这里用OpenAI兼容的SDK是因为Qwen3.8-Max的服务走的是兼容协议我已经在很多例子里发现这样最省事不用重新学一套SDK。4.2 第二步解析各种文件解析这步没有太多技术含量核心就是“每个文件都能变成纯文本并且保留来源标签”。我用一个字典records来存所有文件内容。def parse_excel(path): wb openpyxl.load_workbook(path, data_onlyTrue) lines [] for ws in wb.worksheets: for row in ws.iter_rows(values_onlyTrue): row_str | .join([str(c) for c in row if c is not None]) if row_str.strip(): lines.append(row_str) return \n.join(lines) def parse_docx(path): doc docx.Document(path) return \n.join([p.text for p in doc.paragraphs if p.text.strip()]) def parse_pdf(path): # 文字版 PDF 用 pdfplumber 提取 import pdfplumber text with pdfplumber.open(path) as pdf: for page in pdf.pages: text (page.extract_text() or ) \n return text def parse_image(path): img Image.open(path) text pytesseract.image_to_string(img, langchi_simeng) return text有几个坑提醒一下Excel 如果含公式用 openpyxl 读取时默认读的是公式本身不是计算结果。一定要用load_workbook(..., data_onlyTrue)。PDF 如果是扫描件pdfplumber 提取出来是空字符串。这种情况要么用OCR要么直接人工确认。我曾试过用OCR跑扫描版资质文件准确率大概只有七成对于合规审查来说不够可靠所以扫描版PDF我倾向于直接输出“扫描件无法自动解析”交给人工。主图OCR我用的 tesseract中文识别效果一般尤其是艺术字体。如果图片是白底黑字还好花字、渐变字就很容易识别错。后面我会专门讲这个问题。4.3 第三步拼接资料组织上下文解析完成后要把所有内容按业务顺序拼接起来。我习惯的顺序是商品基础信息表 → 规格参数表 → 标题与卖点文案 → 详情页文案 → 营销活动话术 → 售后FAQ → 主图OCR文字。每个文件内容前加一行 文件名 让模型知道边界。def build_user_prompt(records): blocks [] for name, content in records.items(): block f {name} \n{content} blocks.append(block) return \n\n.join(blocks)如果你的资料总长度超过模型的上下文限制就得分段。比如先拼前4份文件查一遍再拼后3份查一遍最后让模型基于两次结果做一次汇总。不过我用的Qwen3.8-Max上下文够长6份资料加1张图的OCR总共小一万字一次调用完全没问题。4.4 第四步调用模型解析结果调用模型这部分我封装成带重试机制的函数。为什么要重试因为大模型接口偶尔会返回异常JSON或者截断输出这种时候不要直接报错重试一次往往就好。def check_package(records): sys_prompt 你是一名资深的电商合规审核专家……(上面那段) user_prompt build_user_prompt(records) resp client.chat.completions.create( modelqwen3.8-max, messages[ {role: system, content: sys_prompt}, {role: user, content: user_prompt} ], temperature0.1, top_p0.9, max_tokens4096, response_format{type: json_object} ) content resp.choices[0].message.content return json.loads(content)这里我用到了response_format{type: json_object}这个参数能大幅度提高JSON输出的合法率。但有个细节一旦你声明了json_objectprompt里必须出现“JSON”这个字样并且最好明确告诉它输出的结构否则会报错。解析完之后我习惯把结果存成DataFrame然后按level排序生成一份Markdown报告。import pandas as pd def save_report(issues, output_path): df pd.DataFrame(issues) df[level] pd.Categorical(df[level], categories[high, mid, low], orderedTrue) df df.sort_values(level) df.to_markdown(output_path, indexFalse)4.5 第一次体检27个问题的流水账我第一次跑这个脚本用的是一套家居收纳盒的商品资料。6份文件和1张主图OCR文字拼起来总共约9000个汉字Qwen3.8-Max耗时大约20多秒返回结果JSON解析后一共27条问题。我挑几条印象深刻的说说问题编号05high级商品基础信息表里写了“材质聚丙烯(PP)”但详情页文案里写“环保PET材质”。塑料材质完全不一样这是典型的跨文件矛盾人工核对非常容易漏模型一次就抓出来了。问题编号07mid级规格参数表里SKU只有“白色、绿色”两个选项但礼盒装主图明明展示的是“奶油黄”。颜色缺失会导致消费者拍错。问题编号12high级详情页出现“抑菌率达99%”的表述但并没有附检测报告而且“抑菌”属于功效宣称在普通日用品类目下风险很高建议改成“表面易清洁”这类普通描述。问题编号19mid级商品基础表里的促销价是59元活动话术里却写“券后到手49元”。后来一查是券模板设置错了门槛满99才能减50。这种跨文件价格不一致靠人看要来回翻好几个表格模型直接时上下文比对就给标出来了。问题编号26low级详情页写“累计销量10万”基础信息表里没有提供销量数据来源。电商平台对“销量”宣传的举证要求很严没有依据的销量数据一样会被判定违规。问题编号24high级主图OCR识别出“全网性价比第一”的口号既含极限词“第一”和标题的主打卖点“家用收纳”也不沾边。27个问题里high级9个mid级11个low级7个。我核对了其中几项全部成立。从时间成本看人工核对这27个问题至少需要两三个小时程序跑完只要20多秒。5. 工具选型与成本控制5.1 模型选型对比我做方案对比的时候考虑了三条路方案优点缺点本地部署7B/14B模型数据不出本机隐私安全硬件要求高长文本效果差通用大模型API效果好接入简单数据要传输到服务端代码规则引擎准确率100%成本低只能查固定问题语义类无能为力我的最终选择是“代码规则大模型API”混合路线。固定规则的问题价格是否一致、单位是否错误用代码做语义类问题是否涉嫌夸大、是否有医疗暗示用Qwen3.8-Max判断。这样既保证了准确率又控制了成本。如果你对数据隐私要求非常高比如涉及商业机密那本地部署是唯一选择。但本地部署不是把这个脚本改个环境就完了你还得额外处理小模型的幻觉问题复杂度会翻倍。5.2 Token消耗与成本核算这个项目跑一次要花多少钱大概是很多人关心的。按我上面的例子输入资料9000字加上prompt约1500字加起来输入token大概12000左右输出30条问题约3000 token合计15000 token左右。Qwen3.8-Max按量付费不同时间段价格还不一样我实测一次体检大约需要几分钱到一毛钱具体看你资料包有多大、输出多少条问题。相比人工审核小时级的成本这个费用基本可以忽略。提示如果你每天要体检几百个SKU建议在脚本里加一个缓存把资料的MD5值作为key重复提交的资料直接读上次结果别重复调用API。6. 常见问题与排查技巧实录6.1 模型漏报问题怎么办这是最让人头疼的。资料包明明有违规词模型就是没查出来。我的经验是不要急着怪模型先检查prompt是否写清楚了。如果你只说“请检查资料问题”模型往往会倾向于“好好先生”模式什么问题都不报。要让模型进入“挑刺模式”我试过最有效的开场白是“你是一名严格到苛刻的电商合规审核专家你的KPI是找出所有潜在风险即使只有微小可疑也要报出来。”还有个偏方把某个已知问题的样例直接写进prompt告诉它“这是同类案例请参照此标准检查”。比如示例标题写‘最低价’属于违规应建议修改 详情页出现‘治疗’相关字眼属于医疗功效风险。模型有了参照物漏报率会明显下降。6.2 模型重复报告同一问题有时候同一个问题模型会拆成两三条。比如“标题含绝对化用语”和“标题含极限词‘第一’”本质是同一件事它给你报了两条。我在prompt里明确要求过“同一问题可合并在source字段标注多个来源”但模型偶尔还是会重复。我的处理办法是在展示层做关键字归一化。将问题描述里的关键商品词、敏感词提取出来后做相似度匹配相似度超过0.8就合并。实际用下来这个后处理能去掉约10%的重复噪声。6.3 OCR识别不准导致误报主图OCR是误报重灾区。第一次跑的时候主图上的品牌logo被OCR识别成“最佳”模型直接报了一条“主图含极限词‘最佳’”。我排查半天才发现是识别错误。解决思路不要在OCR文字上直接做极限词判断要让模型结合上下文判断“这是品牌logo还是宣传语”。另外尽量用高分辨率原图做OCR压缩过的小图别说OCR人眼都看不清。6.4 JSON解析失败的兜底方案虽然用了response_format{type: json_object}但偶尔模型还是返回残缺的JSON特别是输出特别长的时候。我加了一个简易修复函数先把内容里所有“和”规范成英文引号再用json.loads解析如果还失败就尝试把文本切成两半找出[和最后一个]之间的内容再解析。这个兜底方法虽然粗暴但在90%的情况下都能修复。6.5 上下文超长怎么办虽然我的例子只有1万字左右但如果是大型商品资料包比如几十页的说明书可能一次塞不下。我建议采用“编号分块 两次扫描”的方案把资料按文件分成小组比如3个文件一组每次扫描时在prompt里说明“这只是资料包的一部分后续还有更多分块”。第一次扫描每块报告问题。第二次把第一次的结果汇总再拼接完整资料的关键字段做跨文件一致性交叉检查。这样虽然会增加一次API调用但能覆盖更多资料类型。6.6 常见问题速查表现象可能原因解决办法模型一个问题都没报prompt太温和偏向不找事用“苛刻”“严格”“KPI”等措辞重复报告同一问题语义冗余未归一代码做相似度去重OCR误报极限词把logo/艺术字识别成文字用原图、结合模型上下文判断JSON解析失败输出被截断或格式错乱加重试、截取最外层括号、修复引号跨文件矛盾被漏掉上下文太长导致模型忽略单独做一次一致性扫描7. 这个东西还能怎么扩展7.1 从“体检”到“上架拦截”目前这个助手是事后体检也就是资料准备好了再跑一遍。我下一步打算把它做成“上架前自动闸门”运营把资料包丢进指定文件夹脚本自动检测到新文件就跑体检发现问题直接推送企业微信或钉钉群审核通过才允许提交到平台。这样就把事后救火变成了事前防御。7.2 从“文本审核”到“图文一致性校验”现在主图只用OCR提取了文字还没有真正“看图”。如果换成多模态模型比如直接用Qwen-VL系列可以做到真正的“图文交叉验证”比如主图上画的杯子颜色是否与标题写的一致、主图展示的赠品数量是否与详情页文案一致。这个对服饰、美妆类目特别有用。7.3 从“通用规则”到“类目定制”我当前的问题清单偏通用但不同类目有完全不同的风险点。电子类目要看电池容量是否夸大、3C认证编号是否缺失食品类目要看配料表是否完整、是否滥用“有机”等认证词跨境商品要看原产地和中文标签是否一致。把这些类目特有的规则沉淀成一套配置模板体检助手就可以按类目自动切换审核重点。8. 最后再说几句实在话用 Qwen3.8-Max 搭这个体检助手前后折腾了大概三天。第一天写解析脚本第二天调prompt第三天处理各种边缘情况。真正让它产生价值的其实是“把人工审核的经验翻译成了规则和提示词”。我试过的最优工作方式是人工先对10套资料做一次标准审核把发现的问题记录成清单然后用这些真实案例去校准prompt。这样搭出来的助手不是纸上谈兵而是带着你店铺真实踩坑记忆的“实习审核员”。有一点必须提醒大家这类助手只能辅助筛选、提示风险不能完全替代人的最终判断。平台规则在变广告法的执法尺度在不同地区也有差异模型的建议有时会跟不上最新要求。我自己的操作流程是助手出的报告由人工复核high级问题后再决定是否修改。几分钟就能闭环不会比纯人工审核麻烦。如果再让我重做一遍我会更早地去试response_formatjson_object更早地做规则与模型的分工。这两个决定至少帮我省掉了一半的调试时间。如果你也在做类似的大模型业务落地建议先从这两个点入手。
返回列表