新闻详情

新闻详情

首页 / 资讯中心 / 详情

搜索意图分类 GLiFormer,查询改写 LLM Key 来自 TaoToken

发布时间:2026/9/17 22:23:21来源:尧图网络
搜索意图分类 GLiFormer,查询改写 LLM Key 来自 TaoToken
1. GLiFormer 的 schema 条件化编码器给搜索意图分类带来什么变化GLiFormer 这类 schema 条件化编码器框架最值得搜索算法工程师关注的点是它把“分类”从固定标签映射变成了推理时按 schema 出结构化结果。Knowledgator Engineering 发布的 GLiFormer 采用 575M 参数编码器路线不生成 token却能在推理时根据传入的标签和 schema 完成 NER、分类、关系抽取、嵌套 JSON 结构化和文本嵌入。这意味着搜索意图分类不必再为每个新增意图重训一个 BERT 分类头也不必把意图识别、槽位抽取、改写信号拆成三个模型。对查询理解链路来说它更像一个“条件化解析器”你给什么标签体系它就按什么体系输出结构化 JSON。但在真实搜索链路里意图分类只是前半段。后半段的查询改写仍然要调用 LLM而 LLM 是按 Token 计费的。我的做法是把查询改写 LLM 的 Key 统一放在 TaoToken 管理官网入口是 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_contentgliformer_intent_00 。GLiFormer 负责本地、低延迟、不生成 token 的意图标签与槽位抽取TaoToken 上的模型负责把“原始 query 意图标签 schema”改写成更可检索的表达。Base URL 固定填 https://taotoken.net/apiKey 用 YOUR_API_KEY 占位即可跑通本文的复现实验。本文不会停留在概念介绍而是给出一个可复现的搜索意图分类小流水线先用 GLiFormer 式 schema 条件化推理得到意图标签表再通过 TaoToken 的 OpenAI 兼容接口调用查询改写 LLM最终产出“意图标签表与改写查询对照”。如果你正在做搜索意图分类、Query 改写、召回增强或相关性调优这套结构可以直接拆进你的离线评测流程。2. 意图标签表与 schema先定义可复现的评测口径搜索意图分类最容易踩的坑是标签体系没有和下游改写策略对齐。比如“对比型”和“信息型”在人工标注时容易混但下游改写策略完全不同对比型需要保留对比对象和对比维度信息型只需要扩展同义表达。因此第一步不是跑模型而是先写清楚意图标签表。下面是一套适合中小规模搜索场景的意图标签表可以直接复制成 Markdown 或 CSV意图标签说明典型 query改写重点informational信息获取想了解概念、原理、教程“GLiFormer 是什么”扩展同义词、补充限定词navigational导航到某个站点或产品页“TaoToken 官网”保留品牌词补全域名意图transactional交易、下载、购买、注册“TaoToken API Key 申请”强化动作词和转化词local本地服务、附近、地区限定“上海 搜索算法 工程师 招聘”保留地区、时间、半径comparison对比两个或多个对象“GLiFormer vs GLiNER”保留对比对象和维度troubleshooting报错、失败、配置排查“Claude Code 401 怎么解决”保留错误码、工具名、环境broad泛需求意图不明确“大模型 搜索”适度扩展避免过度收窄接着为 GLiFormer 准备 schema。GLiFormer 的特点是推理时接受标签和 schema因此我们可以把意图标签和槽位定义写在同一个 JSON schema 里。示例{ task: search_intent_classification, labels: [ informational, navigational, transactional, local, comparison, troubleshooting, broad ], schema: { intent: string, confidence: number, slots: { brand: string | null, product: string | null, location: string | null, error_code: string | null, compare_targets: array[string] } } }这份 schema 的价值在于它既是 GLiFormer 的推理条件也是后续查询改写 LLM 的输入约束。改写模型不需要重新猜意图只需要根据intent和slots决定改写策略。比如troubleshooting要保留错误码comparison要保留对比对象local要保留地区词。在实际工程里我建议把标签表落成版本化文件例如intent_labels_v1.json。每次新增意图标签时不重训 GLiFormer只更新 schema 和标签表离线评测时对比新旧标签表对改写查询的召回影响。这样才能把“意图分类”从一次性模型训练变成可持续迭代的搜索策略资产。3. 本地跑 GLiFormer从 query 到意图标签与结构化 slotsGLiFormer 的部署思路和生成式 LLM 不同。它不逐 token 生成文本而是编码 query 与 schema 条件直接输出结构化结果。因此显存占用、推理延迟和 Token 成本都更可控。下面给出一个可运行的 Python 封装示例。模型权重需要从 Knowledgator 的发布渠道获取代码中用YOUR_GLIFORMER_MODEL_PATH占位。import json import torch from transformers import AutoModel, AutoTokenizer MODEL_PATH YOUR_GLIFORMER_MODEL_PATH class GLiFormerIntentClassifier: def __init__(self, model_path: str MODEL_PATH): self.tokenizer AutoTokenizer.from_pretrained(model_path, trust_remote_codeTrue) self.model AutoModel.from_pretrained( model_path, trust_remote_codeTrue, torch_dtypetorch.float16, ).cuda().eval() torch.inference_mode() def predict(self, query: str, schema: dict) - dict: inputs self.tokenizer( query, schemajson.dumps(schema, ensure_asciiFalse), return_tensorspt, ).to(cuda) outputs self.model(**inputs) parsed outputs.structured_output if isinstance(parsed, str): parsed json.loads(parsed) return parsed if __name__ __main__: schema { task: search_intent_classification, labels: [ informational, navigational, transactional, local, comparison, troubleshooting, broad, ], schema: { intent: string, confidence: number, slots: { brand: string | null, product: string | null, location: string | null, error_code: string | null, compare_targets: [string], }, }, } clf GLiFormerIntentClassifier() result clf.predict(Claude Code 配置 TaoToken 后 401 怎么解决, schema) print(json.dumps(result, ensure_asciiFalse, indent2))预期输出类似{ intent: troubleshooting, confidence: 0.93, slots: { brand: TaoToken, product: Claude Code, location: null, error_code: 401, compare_targets: [] } }这里的关键是schema作为推理条件传入。GLiFormer 不需要你为troubleshooting单独训练一个分类头也不需要你写规则去抽error_code。它把标签分类、槽位抽取、结构化输出合并成一次编码器前向。对搜索意图分类来说这能显著减少离线链路中的模型数量和维护成本。如果你没有 GPU也可以在 CPU 上跑小批量评测但 575M 参数编码器建议至少 16GB 显存的 GPU 做批量推理。工程上可以把 GLiFormer 做成独立服务输入 query 和 schema输出 JSON上游搜索链路只消费 JSON不关心模型细节。4. TaoToken Key 与查询改写 LLM 接入Base URL 只填 https://taotoken.net/api意图标签出来后查询改写 LLM 是真正消耗 Token 的环节。这里不把 Key 散落在脚本里而是统一到 TaoToken 创建和管理。你可以先打开 TaoToken 官网 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_contentgliformer_intent_01 登录后进入控制台创建 API Key。也可以直接到 API Keys 页面https://taotoken.net/console/api-keys?utm_sourcetaotoken_aicg_blog_endutm_contentgliformer_intent_keys 。创建好 Key 后在本地配置环境变量。Base URL 只填 https://taotoken.net/api不要加多余路径export TAOTOKEN_API_KEYYOUR_API_KEY export TAOTOKEN_BASE_URLhttps://taotoken.net/api export TAOTOKEN_MODELyour-model-idTAOTOKEN_MODEL需要在模型对话页选择后填入。你可以打开 https://taotoken.net/models/detail/chat?utm_sourcetaotoken_aicg_blog_endutm_contentgliformer_intent_model 查看可用模型把模型 ID 填到环境变量里。接着用 OpenAI Python SDK 调用。注意base_url是 TaoToken 的兼容接口地址api_key用你的YOUR_API_KEYimport os from openai import OpenAI client OpenAI( api_keyos.getenv(TAOTOKEN_API_KEY, YOUR_API_KEY), base_urlos.getenv(TAOTOKEN_BASE_URL, https://taotoken.net/api), ) def rewrite_query(raw_query: str, intent_result: dict) - dict: system_prompt 你是搜索查询改写模型。你会收到原始 query、意图标签和槽位 JSON。 请严格输出 JSON不要输出解释。 输出字段 - rewritten_query: 改写后的查询 - reason: 改写理由20 字以内 - must_keep: 必须保留的词数组 user_prompt f 原始 query{raw_query} 意图结果{intent_result} 要求 1. troubleshooting 意图必须保留错误码、工具名。 2. comparison 意图必须保留对比对象。 3. local 意图必须保留地区词。 4. navigational 意图优先保留品牌词。 resp client.chat.completions.create( modelos.getenv(TAOTOKEN_MODEL, your-model-id), messages[ {role: system, content: system_prompt}, {role: user, content: user_prompt}, ], temperature0.2, response_format{type: json_object}, ) return resp.choices[0].message.content if __name__ __main__: intent_result { intent: troubleshooting, confidence: 0.93, slots: { brand: TaoToken, product: Claude Code, error_code: 401, compare_targets: [], }, } out rewrite_query(Claude Code 配置 TaoToken 后 401 怎么解决, intent_result) print(out)这段代码里GLiFormer 负责给出intent和slots查询改写 LLM 只负责根据约束生成rewritten_query。Token 消耗集中在client.chat.completions.create这一步GLiFormer 本地推理不产生 Token 账单。对于搜索算法团队来说这种拆分的好处是意图分类可以高频跑、批量跑、离线跑查询改写只在需要时调用按需控制成本。如果你要在命令行里快速验证 Key 是否可用可以用curl发一个最小请求。注意 Base URL 仍然是https://taotoken.net/apicurl https://taotoken.net/api/chat/completions \ -H Authorization: Bearer YOUR_API_KEY \ -H Content-Type: application/json \ -d { model: your-model-id, messages: [ {role: user, content: 返回一个 JSON{\ok\:true}} ], temperature: 0 }返回 200 且包含choices字段说明 Key 和 Base URL 配置正确。如果返回 401优先检查 Key 是否复制完整如果返回 404优先检查 Base URL 是否误写成了其他路径。5. 可复现产出意图标签表与改写查询对照把前面两步串起来就可以得到本文要的可复现产出一张“意图标签表”和一张“改写查询对照表”。下面是一个批量跑批的示例输入是 query 列表输出是 CSV 和 Markdown 两种格式。import csv import json from typing import List def build_rewrite_table(queries: List[str], clf, schema: dict) - list: rows [] for q in queries: intent_result clf.predict(q, schema) rewrite_result rewrite_query(q, intent_result) if isinstance(rewrite_result, str): rewrite_result json.loads(rewrite_result) rows.append({ raw_query: q, intent: intent_result.get(intent), confidence: intent_result.get(confidence), slots: json.dumps(intent_result.get(slots, {}), ensure_asciiFalse), rewritten_query: rewrite_result.get(rewritten_query), must_keep: ,.join(rewrite_result.get(must_keep, [])), reason: rewrite_result.get(reason), }) return rows def save_csv(rows: list, path: str intent_rewrite_compare.csv): with open(path, w, newline, encodingutf-8-sig) as f: writer csv.DictWriter(f, fieldnamesrows[0].keys()) writer.writeheader() writer.writerows(rows) if __name__ __main__: queries [ GLiFormer 是什么, TaoToken 官网, TaoToken API Key 申请, 上海 搜索算法 工程师 招聘, GLiFormer vs GLiNER, Claude Code 配置 TaoToken 后 401 怎么解决, 大模型 搜索, ] rows build_rewrite_table(queries, clf, schema) save_csv(rows) print(| raw_query | intent | rewritten_query | must_keep |) print(|---|---|---|---|) for r in rows: print(f| {r[raw_query]} | {r[intent]} | {r[rewritten_query]} | {r[must_keep]} |)预期输出表格示例raw_queryintentrewritten_querymust_keepGLiFormer 是什么informationalGLiFormer 模型 原理 介绍GLiFormerTaoToken 官网navigationalTaoToken 官网 入口TaoTokenTaoToken API Key 申请transactionalTaoToken API Key 创建 申请TaoToken, API Key上海 搜索算法 工程师 招聘local上海 搜索算法 工程师 招聘 岗位上海, 搜索算法GLiFormer vs GLiNERcomparisonGLiFormer GLiNER 对比 区别GLiFormer, GLiNERClaude Code 配置 TaoToken 后 401 怎么解决troubleshootingClaude Code TaoToken 401 错误 排查Claude Code, TaoToken, 401大模型 搜索broad大模型 搜索 技术大模型, 搜索这张表可以直接用于离线评测人工判断意图标签是否正确再判断改写查询是否保留了必须保留的词。你还可以加一列token_cost记录每次改写调用消耗的 Token用来评估不同模型和不同 prompt 的成本。TaoToken 的 API Keys 页面 https://taotoken.net/console/api-keys?utm_sourcetaotoken_aicg_blog_endutm_contentgliformer_intent_cost 可以帮你管理多个 Key按项目拆分额度。如果要把这套流程接入日常迭代建议再补两个指标意图分类准确率按标签统计混淆矩阵重点关注informational和comparison的混淆。改写保留率must_keep中的词在rewritten_query中出现的比例低于 95% 就要调整 prompt。6. Claude Code / Codex / CC Switch 三件套配置查询改写 LLM 跑通后很多工程师会顺手把 TaoToken 配到 Claude Code、Codex 这类编码工具里用于生成评测脚本或调试 prompt。这里要特别注意Claude Code 用ANTHROPIC_*变量Codex 用config.toml不要把ANTHROPIC_*套到 Codex 上。Claude Code 的settings.json示例{ env: { ANTHROPIC_BASE_URL: https://taotoken.net/api, ANTHROPIC_AUTH_TOKEN: YOUR_API_KEY, ANTHROPIC_MODEL: your-model-id } }Codex 的config.toml示例model your-model-id base_url https://taotoken.net/api api_key YOUR_API_KEY如果你使用 CC Switch 管理多套供应商配置可以把它理解为“三件套”Base URL、API Key、模型名。三件套在 Claude Code 里映射为ANTHROPIC_BASE_URL、ANTHROPIC_AUTH_TOKEN、ANTHROPIC_MODEL在 Codex 里映射为base_url、api_key、model。切换配置时只改这三项不要混用变量前缀。TaoToken 的 Claude Code 文档在 https://taotoken.net/doc/ClaudeCodeAnthropic?utm_sourcetaotoken_aicg_blog_endutm_contentgliformer_intent_cc 里面有更完整的参数说明。注意这些工具配置只影响本地开发体验不改变本文搜索意图分类流水线的核心逻辑。GLiFormer 仍然本地跑查询改写仍然走https://taotoken.net/api。7. 排障清单401、404、429 与 JSON 解析失败在把 GLiFormer 和 TaoToken 串起来的过程中最常见的报错集中在 Key、Base URL、模型名和 JSON 格式四类。下面这张排障表可以贴在工位上现象可能原因处理方式401 UnauthorizedKey 错误、过期或未带 Bearer到 API Keys 页面重新创建确认Authorization: Bearer YOUR_API_KEY404 Not FoundBase URL 写错或模型名不存在Base URL 固定为https://taotoken.net/api模型 ID 到模型对话页确认429 Too Many Requests触发限流或额度不足检查套餐与并发降低批量请求频率GLiFormer 输出无法解析schema 太复杂或标签冲突简化 schema减少嵌套层级确保标签互斥改写结果缺少 must_keepprompt 约束不够强在 system prompt 中明确“必须保留”规则并增加 few-shot 示例还有一个容易忽略的点查询改写 LLM 返回的 JSON 可能带 markdown 代码块。建议在解析前做一次清洗def clean_json_text(text: str) - str: text text.strip() if text.startswith(): text text.split(\n, 1)[1] text text.rsplit(, 1)[0] return text.strip()如果你在本地做 SQL 或命令行分析建议由读者本地执行不要把 Agent 或 MCP 直接连到生产库。搜索意图分类的评测数据、改写日志、Token 账单都可以先落到本地 CSV再做聚合。8. 下一步从模型对话到 Coding Plan把查询改写链路跑成常态到这里你已经有了可复现的产出GLiFormer 输出意图标签表TaoToken 上的查询改写 LLM 输出改写查询对照表。下一步建议按这个顺序推进先到模型对话页 https://taotoken.net/models/detail/chat?utm_sourcetaotoken_aicg_blog_endutm_contentgliformer_intent_chat 试跑几个 query确认模型返回的 JSON 结构稳定。如果你要长期跑批量改写可以看 Coding Planhttps://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_contentgliformer_intent_plan 。然后在 API Keys 页面创建正式 Keyhttps://taotoken.net/console/api-keys?utm_sourcetaotoken_aicg_blog_endutm_contentgliformer_intent_key_final 。如果你还要把 TaoToken 配到 Claude Code直接参考 Claude Code 文档https://taotoken.net/doc/ClaudeCodeAnthropic?utm_sourcetaotoken_aicg_blog_endutm_contentgliformer_intent_doc_final 。把这四步串起来GLiFormer 负责本地意图理解TaoToken 负责按需调用查询改写 LLMBase URL 始终是 https://taotoken.net/apiKey 用 YOUR_API_KEY 管理。对搜索算法工程师来说这套结构既保留了编码器模型在意图分类上的低延迟优势又把真正消耗 Token 的改写环节变成了可观测、可控制、可复现的工程模块。
网站建设高端定制企业官网
RELATED

相关资讯

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

较早相关资讯

最新相关资讯

Notepad--:批量查找替换、编码转换、文件对比,3 件事搞定日常文本编辑 2026/9/17 23:05:35

Notepad--:批量查找替换、编码转换、文件对比,3 件事搞定日常文本编辑

Notepad--:批量查找替换、编码转换、文件对比,3 件事搞定日常文本编辑 【免费下载链接】notepad-- 一个支持windows/linux/mac的文本编辑器,目标是做中国人自己的编辑器,来自中国。 项目地址: https://gitcode.com/GitHub_Trend…

阅读更多 →
人工智能、技术创新与新质生产力:可计算指标与Python分析管线 2026/9/17 23:05:35

人工智能、技术创新与新质生产力:可计算指标与Python分析管线

简介:围绕人工智能、技术创新与新质生产力三者关系展开的系统性研究文档,适合科技政策研究者、产业分析人员以及关注新质生产力议题的高校师生阅读。文档以1个docx文件呈现,压缩包约127KB,涵盖两条互为补充的论述主线:…

阅读更多 →
OpenMed LangChain与LlamaIndex集成:带隐私过滤的RAG管道搭建指南 2026/9/17 23:05:35

OpenMed LangChain与LlamaIndex集成:带隐私过滤的RAG管道搭建指南

OpenMed LangChain与LlamaIndex集成:带隐私过滤的RAG管道搭建指南 【免费下载链接】openmed Local-first healthcare AI: clinical NER & HIPAA PII de-identification that runs 100% on-device. 2,200 medical models, 21 languages, Apple MLX Python, no c…

阅读更多 →
DeepChat CUA macOS 分发完整性:Gatekeeper 首装失败根因与 fail-closed 签名、Mach-O 契约修复 2026/9/17 23:05:35

DeepChat CUA macOS 分发完整性:Gatekeeper 首装失败根因与 fail-closed 签名、Mach-O 契约修复

DeepChat CUA macOS 分发完整性:Gatekeeper 首装失败根因与 fail-closed 签名、Mach-O 契约修复 【免费下载链接】deepchat 🐬DeepChat - A smart assistant that connects powerful AI to your personal world 项目地址: https://gitcode.com/GitHub_Trending/de…

阅读更多 →
NVIDIA cuOpt落地AGV调度:31台车实战经验与避坑指南 2026/9/17 23:05:35

NVIDIA cuOpt落地AGV调度:31台车实战经验与避坑指南

做AGV调度的人,十个里有九个都在跟“任务排给谁、先跑哪条线、在哪个路口等谁”这三个问题较劲。我们团队在某个制造业工厂里管着30多台AGV/AMR,高峰期每天上千个搬运任务,之前靠规则加人工干预,天天被打爆。后来我们把NVIDIA cuO…

阅读更多 →
车载激光雷达测距精度、点云质量与互干扰台架试验方法 2026/9/17 23:02:35

车载激光雷达测距精度、点云质量与互干扰台架试验方法

简介:《2024 车载激光雷达性能要求及试验方法》标准征求意见稿的 PDF 文档,面向自动驾驶感知算法、车载传感器与整车测试工程师,以及需要对照标准开展验证的研发与质量团队。它整理了车载激光雷达从点云测距能力、距离精度与准度、角度精度与…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

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

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