资讯动态

如何调用GLiNER2.5-Decide对fast-decisions做分类推理:候选标签原样传入的完整教程

发布时间:2026/10/17 10:32:14 来源:尧图企业网站定制
【免费下载链接】fast-decisions项目地址https://ai.gitcode.com/hf_mirrors/fastino/fast-decisions点击查看免费下载fast-decisions 是专为 GLiNER2.5-Decide 打造的分类决策数据集17 个业务域、每域一个 JSONL 文件、共 1,700 条样本。每一行都是自由文本 候选标签 金标答案一行文本可以携带多个决策头task head。本教程从加载数据开始带你完整走通调用 GLiNER2.5-Decide 做分类推理的全流程并重点讲清一条核心纪律——候选标签必须原样传入。1. 认识数据集17 个业务域每域一个文件 fast-decisions 不是通用推理考题而是一组产品必须做的操作性分类决策客户意图、银行意图、邮件分诊、工单路由、诊所未决、评论情感、文档类型等。输入input字段纯自由文本带[channel]、[body]等上下文前缀输出output.classifications一个决策头列表一行可以包含多个头候选标签每个头的labels字段即完整候选集true_label是金标答案永远是字符串列表单标签头也是单元素列表关键信息内容域数量17 个开发域每域 100 条共 1,700 行文件格式JSONL每行一个样本评测口径官方测试集每域 300 条已保留held out本仓库文件仅用于开发许可证Apache 2.0每个决策头有哪些候选标签完整清单见 README.md 的 Task heads and label sets 一节。2. 一步加载数据用 datasets 库2.1 加载单个域from datasets import load_dataset ds load_dataset(fastino/fast-decisions, support_intent, splittrain)2.2 加载全部 17 个域from datasets import load_dataset, concatenate_datasets domains [support_intent, support_topic, document_type, review_sentiment, agent_handoff, email_triage, ticket_route, product_feedback, banking_intent, clinic_request, travel_request, news_topic, paper_field, sports_recap, restaurant_review, benefits_request, screen_tags] all_ds concatenate_datasets([ load_dataset(fastino/fast-decisions, name, splittrain) for name in domains ])config 名与文件名一一对应support_intent对应 support_intent.jsonlproduct_feedback对应 product_feedback.jsonl 等。每个文件的第一行就是一个完整样本可直接在仓库中浏览例如 email_triage.jsonl一行邮件要同时做出 4 个决策。2.3 想本地浏览数据clone 仓库即可git clone https://gitcode.com/hf_mirrors/fastino/fast-decisions3. 调用 GLiNER2.5-Decide 做分类推理3.1 加载模型from gliner2 import AutoExtractor model AutoExtractor.from_pretrained(fastino/GLiNER2.5-Decide)处理英文文本用fastino/GLiNER2.5-Decide非英文文本请改用多语言版GLiNER2.5-multi-Decide加载方式完全一致见 README.md。3.2 核心调用classify_text签名非常简单——第一个参数是文本第二个参数是任务名 → 候选标签的字典row ds[0] head row[output][classifications][0] pred model.classify_text(row[input], {head[task]: head[labels]}) print(pred[head[task]])3.3 核心纪律候选标签原样传入⚠️labels是该决策头的完整候选集调用时务必原样透传这是本数据集最重要的使用约定README.md 明确要求 pass it to your model as-is不要从候选集里剔除金标——那等于泄漏答案评测分数会虚高不要随意增删、改序或精简候选集——模型就是在这套集合上训练和评测的不要跨头混用候选集——一行可能有多个头每个头有各自的labels字典的 key 必须与task名严格对应推理时不要自行替换成你业务里的标签除非你已自行微调。单标签头返回一个字符串多标签头返回列表。例如 product_feedback.jsonl 中的product_area头标记了multi_label: true金标答案可以是多个产品区域的列表。4. 精确匹配评测跑官方评测循环官方口径是精确匹配exact match预测集合与金标集合逐一比对单标签头按字符串、多标签头按列表统一转成排序集合后比较。完整评测循环如下hits total 0 for row in ds: for head in row[output][classifications]: pred model.classify_text(row[input], {head[task]: head[labels]}) got pred[head[task]] if isinstance(got, str): got [got] elif isinstance(got, dict): got [got[label]] hits sorted(got) sorted(head[true_label]) total 1 print(hits / total)这正是 README.md 给出的评测代码可原样复制到任何域的数据集上运行。5. 分类推理的 3 个常见坑有序标签是字符串数字0–5、0–10 这类有序头用3而不是整数3不要自行做类型转换。true_label永远是列表单标签头也是[refund_request]比较时先归一成列表别直接写字符串。本仓库的分数不能当基准仓库内是开发集每域 100 条官方测试集每域 300 条被保留。不要把在本仓库文件上跑出的分数作为 benchmark 对外报告README.md 特别强调。参考GLiNER2.5-Decide 在保留测试集上的平均精确匹配为 60.2%位列参评模型第一详见 README.md。6. 常见问题FAQQ一行有多个决策头怎么推理A按评测循环的方式逐个头处理——遍历row[output][classifications]为每个头用各自的task名和labels构造字典后调用classify_text。Q某头的候选标签全集在哪里查AREADME.md 列出了全部 17 个域、每个头的完整标签集推理时直接使用这些字符串作为候选集。Q数据可以用来微调吗A可以。本仓库提供的是开发集dev split适合开发与调优项目方提供 Fastino 平台来微调和部署 GLiNER2.5多语言场景可关注GLiNER2.5-multi-Decide。Q多标签头和单标签头的返回有什么不同A单标签头返回字符串如refund_request多标签头返回列表如[kids, drama]见 screen_tags.jsonl。评测时统一按集合精确匹配。赞分享【免费下载链接】fast-decisions项目地址https://ai.gitcode.com/hf_mirrors/fastino/fast-decisions点击查看免费下载相关推荐开发者指南用fast-decisions微调GLiNER2.5并部署上线的完整流程开发者指南用fast decisions微调GLiNER2.5并部署上线的完整流程 fast decisions 是专为 GLiNER2.5 微调 打造的开源cls_threshold 一调就灵GLiNER2.5-Decide 多标签分类的精度/召回跷跷板cls_threshold 一调就灵GLiNER2.5 Decide 多标签分类的精度/召回跷跷板 在多标签分类任务里GLiNER2.5 Decide34人工智能大模型NLP如何用 jevos 做零样本文本分类一段文本路由到多个标签的完整教程如何用 jevos 做零样本文本分类一段文本路由到多个标签的完整教程 jevOS开源项目 jev是一个能在笔记本 CPU 上运行的本地 LLM 决策引擎上一篇OpenSpace 数据服务层实战基于>下一篇eslint-plugin-unicorn 快照测试解读no-xor-as-exponentiation 规则如何拦截误把位异或当乘方的写法创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

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

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

免费获取报价 →
↑