mcpField
C
classify

classify

github.com/dyrits数据与数据库037 次安装今天更新
代码仓库

关于 classify

classify 是使用 classifier.dev API 对文本进行分类的技能,面向需要在将文本纳入上下文前筛选或整理内容的 Agent。它支持批量、多个维度和多标签请求,并要求谨慎处理隐私、置信度及失败回退。

主要功能

  1. 01按自定义标签分类文本
  2. 02批量处理最多 1,000 条输入
  3. 03支持多维度与多标签模式
  4. 04按置信度标记结果并筛选
  5. 05失败时按相同标签进行本地判断

适用场景

  1. 01将搜索结果按主题分类后再阅读
  2. 02从文件中批量筛选相关文本
  3. 03按多个维度整理文本
  4. 04敏感文本无法发送时进行本地判断

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/dyrits/skills --skill classify

安装后在 Claude Code 中输入/classify确认已加载。

附带文件agents/openai.yamlapm.yml

详细介绍

分类

将文本放入上下文前,使用 classifier.dev 对其进行分类。以编程方式从文件或搜索结果中收集输入,批量发送,然后读取值得保留的条目。对于已在上下文中的少量条目,除非用户要求 API 判定,否则请自行判断。注明判定来自哪个来源。不同 API 层级无法保证每次调用的标签或分数完全一致。

文本会离开本机并发送给第三方 API,因此只发送你愿意粘贴到公开表单中的文本。如果输入包含秘密或私人信息,请使用相同标签在本地进行分类,并注明判定是你自己的判断;如果必须获得 API 判定,则请求用户提供已删去敏感信息的输入。

步骤 1:确定标签

/classify <text> [option, option, option] 同时提供文本和标签。在构建请求前,先选择单标签分类、独立维度或多标签标注。若未提供标签,则为每组编写 2 到 100 个不同且描述清晰的标签,每个标签最多 200 个字符。

对于单标签分类,应确保标签完整划分问题:每段合理的文本都恰好落入一个标签。对于偏离主题的输入,添加 none of these;对于证据可能不足的情况,添加 unknown。对每个维度也采用此规则。多标签可以重叠。

如果标签不是用户提供的,请在报告中注明你选择的标签。

使用 instructions 来定义含糊不清的标准,最多 4,000 个字符。如果判定结果显示缺少类别或标准不明确,请修订并解释变更。比较结果时应固定标准;反复运行直到出现理想答案会使结果产生偏差。

第 2 步:调用

使用 POST https://classifier.dev,并设置 content-type: application/json。普通自由文本请求无需密钥,但匿名代理流量可能需要已充值工作区的密钥。根据请求形式选择请求体:

你要处理的内容请求体
一段文本、一组标签{"input":"…","labels":["a","b"]}
最多 1,000 段文本、一组标签{"inputs":["…","…"],"labels":["a","b"]}
同时使用多组标签对文本进行分类{"items":["…"],"dimensions":{"topic":["a","b"],"urgency":["low","high"]}}
文本或批次中的所有适用标签{"inputs":["…"],"labels":["a","b"],"multi":true,"max_labels":2}

input、inputs 和 items 只能三选一。维度会替代顶层的 labels,且不能与 multi 或 max_labels 组合使用。若某个维度需要特定的判断标准,请将该维度的标签数组替换为 {"labels":["a","b"],"instructions":"…"}。

默认使用 tier: "fast"。当单标签判断需要服务端复核时,选择 smart:对于置信度低于 0.7 的答案,它会使用推理模型重新判断,并独立处理每个维度。升级处理后的答案会带有 escalated: true,置信度和分数为 null,并附有 unscored 说明。如果升级处理失败,则保留原始答案,并由 usage.escalation_failed 记录。多标签请求会忽略 tier,因此请使用 fast。

使用 JSON 编码器序列化请求体,并通过标准输入将其传给 curl,使用 --data-binary @-。不要将输入文本放入 shell 命令字符串中,以免引号和命令替换失去数据属性。请按以下限制进行批处理,不要对每个项目循环发起单独调用。

普通文本路径每段输入最多允许 32,000 个字符,请求体最大为 1 MB,最多可包含 1,000 段输入和 20 个维度;维度最多可进行 1,000 次判断,按输入数乘以维度数计算。公开的 smart 请求最多支持 200 段输入或 200 次维度判断。

每 IP 的免费配额按分类次数计算,而非 HTTP 调用次数。包含 400 段单标签输入的批次计为 400 次分类;维度则按每次判断计数。

层级每分钟每天
fast3,00020,000
smart2002,000

批次必须完整符合剩余配额。共享标签集配额和支出限额可能会在达到这些上限前拒绝请求。对于更长的文本、付费处理或配额详情,请在选择请求路径前阅读实时 API 参考。更长的默认模型输入需要已充值的 fast 层级长上下文处理;请保留原文,不要默默截断。

请求失败时,请查看状态码以及 JSON 中的 error、code、action 和 retryable 字段(如有)。修正无效请求;如遇资金或访问限制,请如实说明。一次失败请求最多重试一次,以先发生的失败为准。对于 429,请遵循 Retry-After,且仅在延迟时间以秒计时重试。对于暂时性网络或 5xx 错误,请在重试前退避;如果提供了 Retry-After,请遵循该值。遇到 HTML 错误时,如有状态码和请求 ID,请一并报告。如果请求仍然失败,请报告实际原因;在可行时,使用相同标签进行本地判断,并注明这是你的判断,不要编造置信度。如果无法在本地审查输入,请说明哪些内容仍未分类。

步骤 3:报告判定结果

将 results[i] 与原始输入顺序对应起来,并按模式读取:

模式结果字段
单标签results[i].label、.confidence、.scores
多维results[i].dimensions[name].label、.confidence、.scores
多标签results[i].labels 和 .scores;没有单数形式的 label 或 confidence

使用阈值前,先检查 confidence 和 scores 是否为 null,即使在 fast 模式下也一样。将 null confidence 报告为“未评分”,并在需要置信度门槛时将其转交审核。若数值型 confidence 低于 0.7,则将判定标记为较弱。scores 表示在所提供标签之间的选择情况;它们无法确定类别是否匹配,也不能证明结果正确。保留结果对应的服务 model,以便追踪升级处理和回退回答。

多标签结果会列出分数至少为 0.7 的标签,按分数从高到低排列,并在提供 max_labels 时受其限制。报告每个标签及其分数。如果调用方指定了其他阈值,请使用完整的分数映射;标签列表为空也是有效结果。

筛选时,倾向于保留。否定判定是指调用方指定为丢弃项的标签(irrelevant、none of these)。如果标签超过两个,请先询问要丢弃哪些标签;在调用方说明之前,保留所有项目。除非调用方提供阈值,否则只丢弃数值型 confidence 至少为 0.8 的否定判定。保留肯定、低置信度和未评分的项目,以供阅读或审核。对于多标签筛选,按照调用方的标签规则使用对应分数,并保留不确定的项目。

报告判定结果,而不是 JSON。单条文本占一行(label · 0.94)。批量结果使用表格,或按标签分组列出项目;如果调用方要求筛选,则列出保留的项目和丢弃数量。

维护此技能时,请将请求和响应规则与已发布的上游技能及实时 API 参考进行比较。

评论

支持 Markdown