新闻详情

新闻详情

首页 / 资讯中心 / 详情

大模型预训练数据质量过滤:从规则去重到质量打分的全流程实践

发布时间:2026/10/2 10:49:32来源:尧图网络
大模型预训练数据质量过滤:从规则去重到质量打分的全流程实践
做预训练模型这几年我越来越确定一件事决定大模型上限的往往不是算力不是网络结构而是喂进去的数据。大模型预训练的前置数据处理尤其是数据质量过滤是整个流程里最容易被低估、却又最能拉开差距的环节。最近正好在 MindSpore 上完整搭了一套数据质量过滤方案跑了几个实验把前期踩过的坑、调过的参数、换过的设计一并整理出来。这份总结非常适合正在做预训练数据工程、或者准备从零构建预训练数据 Pipeline 的同行参考也适合刚接触大模型训练流程、想搞清楚“数据怎么被洗干净再进模型”的读者。数据质量过滤这件事看起来只是清理文本、去重、筛掉垃圾真正做起来会发现每个环节都有不少门道阈值怎么定、模型怎么选、去重怎么不误伤、多机并行怎么保持一致、MindRecord 怎么高效读写……今天把这套方案从设计到落地完整拆开讲希望你能直接照着搭。1. 为什么数据质量过滤是大模型预训练的胜负手1.1 预训练“脏数据”的三本账算力、效果、评测先说算力账。预训练一次动辄几十万卡时如果数据里有大量重复、无意义、格式错乱的文本模型会把宝贵的参数量和计算量花在死记硬背上。比如一个网页正文语料如果没做去重同一篇文章出现几十次模型反复“背诵”这些数据损失函数在重复模式上反复震荡但真正的语义能力提升非常有限。客观上这等于用三倍、五倍的算力去买一份的效果。再说效果账。文本数据的质量分布直接决定模型的语言习惯和知识密度。如果语料中长期混杂机器生成的乱码、SEO 堆砌词、广告文本模型很容易学会“废话文学”生成结果在流畅度和信息密度上双双拉胯。我相信不少人都遇到过生成模型一本正经地输出重复句式或者车轱辘话很多时候根子就在预训练数据里低质量文本比例过高。最后是评测账这个最隐蔽。如果训练集和下游评测集之间没有做交叉去重评测数据可能已经出现在预训练语料中模型测出来的分数会虚高到失真。我见过某个团队开源模型号称在多个 benchmark 上刷爆结果一查评测集文章早就在预训练数据里出现过这就是典型的“数据泄漏”。这种问题一旦发布之后被发现对技术口碑的伤害非常大。1.2 方案选型的关键思路瀑布式渐进过滤数据过滤不是一把梭它应该是一个多阶段渐进式的流水线。最经济的做法是先用低成本的规则把明显垃圾的数据干掉再用稍贵的统计方法做去重最后才动用模型做质量评分。这样每一层过滤都只面对上一层筛下来的数据计算量逐级递减。我在 MindSpore 上搭的方案就是这种瀑布式结构首层规则过滤处理语言识别、格式校验、长度过滤、敏感词拦截。第二层精确去重 近似去重处理 URL 重复、文档重复、段落级重复。第三层质量打分用困惑度模型和分类模型对文本语义质量评分。第四层数据混合与采样配比按领域和目标调整各来源数据的比例。之所以把规则放在最前面是因为它的单条处理成本最低。拿 C4、RefinedWeb 这些公开数据管道的经验来说启发式规则能直接过滤掉 20%40% 的无效网页数据这部分完全不需要模型参与。相比之下如果一上来就调用模型打分处理成本会高出几个数量级但效果并不会好多少。规则能解决的问题就不要让模型来扛。1.3 质量维度的拆解从“能看”到“好用”数据质量不是一个单一指标而是一组维度的综合。我把预训练数据质量拆成六个维度每个维度对应不同的过滤手段质量维度核心问题常用过滤手段语言纯度文档是否混合多种语言、是否包含大量非目标语言fastText、langid 语言识别字符表校验重复度与已有数据重复、文档内部重复精确 Hash、SimHash、MinHash、Bloom Filter格式规范性乱码、HTML 残留、过短碎片、超大文档正则规则、符号比例、长度过滤内容安全性违规内容、诱导性文本、隐私信息敏感词库、分类模型知识密度是否只是闲聊、广告、空话困惑度、文本熵、质量分类器领域均衡性某类数据过多导致分布失衡数据采样、温度配比这套维度拆解下来过滤方案才能有的放矢。比如我一开始只做了去重和长度过滤结果模型生成内容的“废话比例”依然很高后来加了困惑度过滤和知识密度评分才明显改善。问题定位的颗粒度很重要光靠一个大而化之的“质量分数”很难解释问答应得不好是哪个环节出了错。2. 核心细节解析每类过滤手段的原理与参数选择2.1 基于规则的启发式过滤把最脏的数据挡在最前面规则过滤是整个流水线的第一道闸门也是性价比最高的一层。C4 数据集当年公布的处理规则里有几个非常经典的启发式特征放在今天依然有效文档中的重复 n-gram 比例如果一篇文本里 3-gram三个连续词/字的组合的重复率过高说明内容高度冗余通常是 SEO 拼凑文或者不断重复的模板文本。我自己默认的阈值是3-gram 重复率超过 0.3 就丢弃。符号与字符比例正常文本里中文字符、英文字母、数字和常见标点形成一个稳定分布。如果一篇文档的标点符号占比异常高或者出现大量非常用 Unicode 字符比如各种奇怪的符号区块基本可以判定为乱码或机器生成文本。内容长度边界太短的碎片比如少于 200 个中文字符或者 50 个英文单词信息量过低太长的文档比如超过 10 万字符往往混杂了多篇文章或多页面内容需要切开或直接滤除。这里有个容易踩的坑规则阈值不要卡得太死。拿长度过滤来说如果一刀切过滤掉所有短文本很多高质量的问答片段、代码注释、商品描述就会被误伤。我自己的经验是先采用温和阈值过滤明显异常把“疑似垃圾”单独存一份留给后续模型打分去判断而不是直接丢弃。这样做数据利用率更高也不会因为规则过于激进导致语料分布生硬。2.2 去重精确去重与近似去重的配合去重是数据质量过滤里我个人最看重的一步。公开爬取语料里重复内容的比例高得惊人不做去重等于把大量算力浪费在“背课文”上。去重分两个层次第一层是精确去重。对文档做规范化处理后计算哈希值比如 MD5、SHA256同样哈希只保留一份。这个操作实现简单、速度快但只能应对完全一致的重复。第二层是近似去重。语义相同但表述略有不同的文本比如新闻稿在不同网站上的改写版本靠精确去重根本发现不了这时候就得用 SimHash 或 MinHash。SimHash 的思路是把文档转成一组特征通常是分词后的词权重对每个特征计算哈希值并按位累加最后得到一个固定长度的指纹。两篇文档的 SimHash 指纹汉明距离越小说明它们越相似。MinHash 则是通过多个哈希函数求“最小哈希值”估计 Jaccard 相似度配合 LSH局部敏感哈希把可能的相似对快速找出来。在参数选择上我用的方案是MinHash 生成 128 个哈希签名分 16 个 band、每 band 8 行。这样相似度高于 0.5 的文档对就会被捕获基本覆盖“改写重复”场景。去重之后再用 SimHash 对全文做一次交叉比对汉明距离阈值设为 3。这个组合实测可以删掉语料里额外 8%10% 的近似重复。提示近似去重的目的是找出语义重复而不是找语义相关。阈值调得过低会把同一主题下的不同文章误杀比如“A 公司发布新款手机”和“A 公司发布升级版平板”这两篇新闻明明不是重复文本但相似度特征可能很高。务必抽样人工核对去重效果后再全量执行。2.3 基于模型的过滤语言识别、困惑度与质量分类器规则和去重筛完剩下的数据就是“可读但质量参差”的语料。这时才轮到模型上场。语言识别我用的是 fastText 的预训练语言分类模型它对短文本和中英文混杂文本的鲁棒性不错。这块要注意的是对于中文预训练网页里常有大段英文代码、英文广告、英文评论与正文混排直接从语言识别分数上做硬切并不理想。我的做法是计算文档中目标语言中文的占比低于 70% 的文档降权处理而不是直接丢弃除非其中包含大量广告特征词。困惑度PerplexityPPL过滤是一个很经典的质量信号。简单说困惑度衡量的是“模型对一段文本的惊讶程度”。低困惑度说明文本更符合自然语言的统计规律更像是人写的流畅内容高困惑度往往对应乱码、异常拼写、无逻辑拼接。不过直接比对不同长度文本的困惑度是有问题的短文本的困惑度天然偏大因为上下文信息不足。所以我在实践中使用了长度归一化后的困惑度按字符数对 PPL 做加权再套用分位数阈值——比如取所有文档 PPL 分布的后 25% 分位数作为过滤线而不是一拍脑袋定一个绝对值。这个细节很关键否则过滤结果会对短文本严重不公。质量分类器目前是这套方案里“投入产出比”比较高的模块。我基于少量人工标注大概 3000 条样本训练了一个文本质量二分类模型标签是“高质量段落”和“低质量段落”特征用文本的 n-gram 统计、困惑度、文本熵和一部分语义 embedding。用 MindSpore 训练一个几百万参数的小模型跑起来很快但能抓住规则抓不到的语义垃圾比如“没营养的鸡汤文”“流水账日记”“不知所云的随笔”。这类文本往往语法正确、困惑度正常没有重复问题但知识密度极低只有语义层面的模型才能识别。2.4 知识密度与“文本熵”量化一段话里有多少信息量文本熵这个概念是从信息论里借过来的我在实际使用中觉得非常好用。简单说一段文本里不同字词的出现越均匀、越丰富信息熵越高翻来覆去就是那么几个固定搭配熵就低。具体实现上我会计算每个文档的字符级熵和词级熵归一化后和 PPL 一起做特征。低熵 低 PPL 的组合通常对应“流畅但重复”的文本比如《小白也能学会的理财课》这类整篇都在重复几个固定句式的营销文。高熵 高 PPL 则可能是专业领域的冷门内容或者本身就写得晦涩的文本这类不该被误杀。我在方案里把文本熵放在规则过滤和去重之后的模型打分阶段作为质量分类器的一个输入特征而不是单独设置阈值。原因很简单单独设阈值可解释性强但容易跟其他特征冲突放在模型里可以让特征之间自己权衡效果更鲁棒。3. 实操过程在 MindSpore 上搭建数据质量过滤 Pipeline3.1 总览一套可落地的五阶段处理流程整个过滤 Pipeline 我建议拆成五个可以独立执行、独立试错的阶段。每个阶段既可以从上一个阶段的输出继续跑也可以单独 debug数据采集与解析把原始爬取网页、文本文件统一转成规范化的 JSON 行格式。规则清洗执行语言识别、符号校验、长度过滤、敏感词拦截。去重先精确去重再近似去重MinHash LSH。质量打分用 PPL 模型和分类器逐文档打分输出分数区间。混合采样按领域比例和目标分布进行采样生成最终训练集。这五阶段我用的是“数据分片 多进程 断点续跑”的工程结构。每阶段输出带版本号的中间文件比如data_stage2_rule.pkl、data_stage3_dedup.jsonl。这样做的好处是调参数时不需要从头重跑全部流程只需要从对应阶段续跑。在动辄几十 TB 的语料场景里断点续跑不是便利性问题是能不能做完的问题。3.2 MindRecord为什么预训练数据要转成这个格式MindSpore 生态里MindRecord 是最适合大规模预训练的数据格式这一点在搭 Pipeline 之前就要想清楚。MindRecord 把数据按二进制分块存储配合 MindSpore 的数据加载接口可以做到多线程读取、随机采样、数据混洗避免了反复解析 JSON 和按行读写的 IO 开销。具体转换时我会把清洗后的 JSONL 转成 MindRecord。每个样本包含如下字段input_ids分词后的 token 序列attention_mask有效 token 的掩码labels预训练任务的标签通常和 input_ids 相同做自回归训练domain来源领域标签比如百科、新闻、代码、书籍quality_score质量打分阶段的综合分数其中domain和quality_score是很值钱的两个字段。有了它们后续做数据配比和课程学习时可以直接按字段筛选不用再回读原始文本。我一开始没存这两个字段后来想调整领域比例时才发现还得重新过一遍前面所有阶段白白多花了两天时间。提示数据工程有一条经验法则——流水线的每个中间产物都应该带上可追溯的元信息。这段数据来自哪个批次的爬取、过了哪些过滤阶段、每个阶段的输出参数是什么全部记录下来。有了这些后来模型出现任何问题都能回溯到数据环节否则排查起来就是大海捞针。3.3 核心代码启发式过滤与 MinHash 去重的实现下面给一段我用 Python 写的启发式过滤函数片段可以直接作为第一层规则的骨架嵌入你的 Pipelineimport re import hashlib import math from collections import Counter def ngram_repeat_ratio(text, n3): 计算 n-gram 重复率按字符滑动 ngrams [text[i:in] for i in range(len(text) - n 1)] if not ngrams: return 1.0 total len(ngrams) unique len(set(ngrams)) return 1.0 - (unique / total) # 重复率越高越可疑 def char_stat(text): 返回常见字符统计 total len(text) if total 0: return {letter: 0, digit: 0, punct: 0, space: 0, other: 0} letter sum(c.isalpha() for c in text) / total digit sum(c.isdigit() for c in text) / total punct sum(not c.isalnum() and not c.isspace() for c in text) / total space sum(c.isspace() for c in text) / total other max(0.0, 1.0 - letter - digit - punct - space) return {letter: letter, digit: digit, punct: punct, space: space, other: other} def rule_filter(text, min_len200, max_len100000, ngram_thresh0.3): if len(text) min_len: return False, too_short if len(text) max_len: return False, too_long stats char_stat(text) if stats[other] 0.1: return False, rare_chars if stats[punct] 0.3: return False, too_many_symbols rep ngram_repeat_ratio(text, n3) if rep ngram_thresh: return False, high_repeat return True, pass这段代码常见的坑是ngram_repeat_ratio对短文本极不友好。我建议在计算重复率前先做“行级过滤”把连续多个相同短句比如 5 行相同文案先剔除再进入整篇 n-gram 重复率计算。否则很多营销文本会因短句重复触发阈值而长篇正常文本反而因为长度稀释了重复率而逃过过滤。MinHash 近似去重的核心代码也不复杂关键是 LSH 参数和哈希函数的数量。一个可用的实现思路# 去重思路minhash 指纹 LSH band 分桶 # band16, rows8, feature_num128 # 1. 对文档分词取每段的 shingle比如 5-gram 字粒度 # 2. 对每个 shingle 做 hash记录最小哈希值共 128 次 # 3. 将 128 维签名分成 16 个 band每个 band 8 个值做桶 key # 4. 同一个桶内不同文档再两两计算 Jaccard 相似度超过阈值则判重 # 哈希函数可用国产化实现比如对 shingle 字节做 xxhash 或 md5 截断实现上我推荐用已有的库做 shingle 切分和哈希生成避免重复造轮子。但如果追求可控性自己实现 MinHash 也不难。需要注意的是去重应该在规则过滤之后做而不是在之前。如果先做近似去重再做规则过滤大量的垃圾文本会先占用去重的内存和计算资源而且会污染 MinHash 的桶分布降低正常文本的查重精度。3.4 质量打分模型与 MindSpore 数据加载的对接质量打分模块我用了一个轻量级的文本分类模型输入是 128 维的统计特征 文本 embedding输出是“高质量概率”。模型本身不大用 MindSpore 的nn.Dense堆几层全连接就够了。训练数据来自人工标注标注集中覆盖了“学术摘要、产品介绍、新闻报道、营销文案、胡言乱语”这几个典型类别。打分阶段跑完后把每个文档的得分写回元信息。最终进入 MindSpore 训练流程时用MindDataset加载即可支持多卡场景下的分布式读取。import mindspore as ms import mindspore.dataset as ds # 读取已过滤并打分后的 mindrecord 文件 dataset ds.MindDataset( dataset_files[data/pretrain_good.mindrecord], num_parallel_workers8, shuffleTrue, ) # 打印一条样本确认字段完整性 sample next(dataset.create_dict_iterator()) print(sample.keys()) print(sample[input_ids].shape, sample[quality_score])这里有个实操细节shuffleTrue是全局乱序但如果训练开启了数据并行每个 Rank 都 shuffle 会导致不同卡处理的样本分布不一致虽然不一定影响收敛却会让日志里的 loss 曲线变得“抖动”。我采用的方式是先对 MindRecord 做一次离线 shuffle再在训练时关闭shuffle只依赖数据分片。这样每个 Rank 拿到的分片不同、但片内顺序是固定的既保证了分布式训练数据不重叠又让日志曲线更干净。3.5 数据混合配比过滤之后还要“配得好”数据过滤解决的是“每一段数据是否合格”的问题而数据配比解决的是“合格数据之间怎么组合”的问题。很多团队数据过滤做得很干净但不同来源的数据直接拼接导致模型在某些领域表现失衡。这套方案里我用了一个比较实用的配比策略先按领域百科、新闻、书籍、代码、论坛、社交统计过滤后的实际数据量。设定目标分布比如百科和书籍这类高质量长文本占比调高论坛和社交问答占比压低。对不足的领域做重复采样补足对过剩的领域做降采样截断。重复采样补足要注意度。我实测下来某个领域重复采样超过 3 轮之后模型在该领域上的指标提升就接近饱和了继续重复只会增加过拟合风险。更温和的做法是用温度采样把目标分布作为权重基准对每个 batch 按这个权重去数据池里抽样权重越高、抽到的概率越大而不是硬切数据集。“按权重抽样”还有一个额外的好处它可以天然兼容课程学习。比如训练初期多抽通用文本训练后期多抽领域专业文本只需要在两个阶段之间调整权重分布即可不需要重新生成数据文件。4. 常见问题与排查技巧实录4.1 过滤过度导致数据分布失衡有一次我把 n-gram 重复率阈值从 0.3 收紧到 0.2结果发现大量正常的新闻文本被误删。原因是新闻里常引用当事人原话同一句话会在正文、标题、导语、相关推荐里反复出现导致局部重复率偏高。调整阈值后虽然“垃圾数据”变多了但模型的整体生成流畅度反而提升——因为正常文本的数量和多样性才是训练的基石。排查思路每次调整过滤参数后都要对“被过滤掉的数据”做一次随机抽样人工判断误杀比例。这个环节不能省。经验准则是误杀比例控制在 5% 以内超过就要放宽阈值或改用更智能的方法分级处理。4.2 重复数据残留在评测集导致分数膨胀这是我踩过最深的坑。当时模型在一个下游开放问答评测上成绩很漂亮后来换了一套新评测集分数断崖下跌。定位后发现之前评测集里的部分长文本早就在预训练语料里出现过类似内容只是经过了轻微改写精确去重完全没查到。解决方案是评测集交叉去重评测集文本必须和整个训练集做一次近似去重把相似度超过阈值的评测样本剔除或者标记为“已见”。我后来把这一步固化成了发布前检查项包括公开 benchmark 和内部评测集都要过一遍。提示交叉去重不只是把相同文本去掉更重要的是在模型发布说明里如实披露“评测集与训练集的重叠度处理方式”。这个细节很多团队不重视但一旦被外界质疑解释成本非常高。4.3 多机并行下数据分片不一致MindSpore 分布式训练时多机多卡的数据读取一致性问题折磨过我一阵子。具体表现是同样配置跑两次实验loss 曲线相似但不完全一致导致对比实验时很难判断模型效果差异是来自数据还是来自参数。原因通常出在数据集的 shuffle 和分片逻辑上。如果用全局随机 shuffle每张卡拿到的样本顺序完全不同两次实验之间自然对不上。解决办法是让每个 Rank 的数据分片确定性化在离线阶段按样本 ID 对数据取模分片每个 Rank 读取自己对应分片。同一份数据文件的读取顺序固定不依赖全局随机数。如果要随机性在分片内用固定 seed 做 shuffle保证可复现。这样做之后同一配置下两次实验的 loss 曲线高度一致找模型差异时能省下大量排查时间。4.4 质量分类器标注偏差给质量分类器做人工标注时不同标注员对“高质量”的判断差异很大。有人认为专业术语多的学术文本质量高有人认为朗朗上口的大众科普才算高。我最初没做标注一致性校准分类器学到的“质量”概念就飘忽不定。解决方案是做标注指南 仲裁集先定义清晰的评分标准比如“知识密度高”“逻辑通顺”“无冗余”“客观中立”各占多少权重。随机抽取一批样本让多个标注员打分计算标注一致性Cohens Kappa低于 0.6 就说明标准不够清晰需要重新对齐。对分歧大的样本集中讨论形成仲裁集后续模型训练的验证集里始终保留一部分仲裁样本。这部分工作很枯燥但对质量分类器的最终表现影响极大。模型本身再强训练标签是歪的输出自然也是歪的。4.5 常见问题速查表问题现象大概率原因解决方向模型生成重复句式严重输出车轱辘话语料低质量文本占比高提高 PPL 过滤强度检查 n-gram 重复率分布评测分数虚高换数据集后崩溃评测集与训练集重叠评测集与训练集交叉去重loss 曲线抖动日志不稳定分布式 shuffle 不一致离线 shuffle 固定分片中文效果差生成夹杂英文/符号语言识别不严检查目标语言占比阈值模型废话多流畅但没信息量知识密度低文本过多加入文本熵特征与质量分类器训练吞吐低IO 成为瓶颈数据格式碎片化统一转 MindRecord加大 num_parallel_workers4.6 数据过滤不是一次性的持续迭代与效果验证数据过滤方案最忌“一锤子买卖”。语料来源会变网络内容分布会变模型的用途也可能调整过滤参数必须跟着迭代。我的做法是维护一个“过滤效果看板”每次预训练实验结束后对比不同过滤策略下的模型指标包括目标领域的准确率、生成文本的重复率、人工评估得分。这块有个小技巧保留一份“坏数据档案”。把每个过滤阶段判定为垃圾的样本抽样存下来打上过滤原因标签。这不仅是 debug 时的重要参考也是下一次调整过滤器阈值时的“基准测试集”。后续无论换模型、换流程都可以用同一份坏数据集来回归测试过滤器的行为是否发生变化。写在最后的几点体会搭完这套 MindSpore 数据质量过滤方案我最深的感触是数据工程的耐心和细心比模型结构上的灵感更重要。规则过滤、去重、质量打分每一个环节单独看都不难但组合在一起、放到几十 TB 的规模上跑各种极端情况就全冒出来了。我现在养成了一个习惯每当要对模型做任何改动先问一句“这次数据侧的变化是什么”。很多看起来是模型结构导致的差异追根溯源都是数据分布的变化。数据侧可解释、可复盘模型侧才能更理性地调优。最后再分享一个实用建议如果你刚开始搭数据 Pipeline不必追求一步到位。从最简单的规则过滤 精确去重开始先把训练跑通再逐步叠加近似去重、质量打分、领域配比。每加一层都对照“过滤效果看板”确认收益是正的。这套方案在 MindSpore 上已经跑通了希望我的这些经验能帮你在数据这条路上少踩几个坑。
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

鹿城旭佳时代门窗:高性价比系统门窗工厂选购全攻略 2026/10/2 11:47:28

鹿城旭佳时代门窗:高性价比系统门窗工厂选购全攻略

很多鹿城准备装修或者换窗的业主,跑了好几家门店还是拿不定主意,要么是报价虚高超出预算,要么是品质没保障怕踩坑,想要选到性价比高又靠谱的系统门窗,其实找本地正规工厂才是更省心的选择。三十一年深耕门窗&#xff0…

阅读更多 →
大型亚克力水族馆工程报价考量因素:赫荣生态专注高透明板材与龙骨结构安全 2026/10/2 11:47:21

大型亚克力水族馆工程报价考量因素:赫荣生态专注高透明板材与龙骨结构安全

大型亚克力水族馆工程报价考量因素亚克力水族馆工程作为文旅商业领域的高价值定制工程,报价并非单一维度的数值计算,而是涉及材料选型、结构设计、工程落地、售后保障等多维度的系统考量。对于大多数项目方来说,接触大型亚克力水族馆工程时&a…

阅读更多 →
OpenClaw 赋能 UI 自动化:把 Base URL 改到 TaoToken 的实操指南 2026/10/2 11:47:21

OpenClaw 赋能 UI 自动化:把 Base URL 改到 TaoToken 的实操指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
OpenClaw Chrome扩展使用教程:用TaoToken统一Key打通浏览器中继控制链路 2026/10/2 11:47:21

OpenClaw Chrome扩展使用教程:用TaoToken统一Key打通浏览器中继控制链路

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
【零基础上手】OpenClaw 小龙虾 Windows 一键部署教程 十分钟搭建 AI 数字员工(包含安装包) 2026/10/2 11:47:21

【零基础上手】OpenClaw 小龙虾 Windows 一键部署教程 十分钟搭建 AI 数字员工(包含安装包)

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
09 AI 写 SQL:把需求描述丢进去,生产级SQL就出来了——TaoToken 统一 Key 接入 Cursor 实战 2026/10/2 11:47:15

09 AI 写 SQL:把需求描述丢进去,生产级SQL就出来了——TaoToken 统一 Key 接入 Cursor 实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉