EN

LLM 意图分类:实战教程

在 AI 应用中分类用户意图以进行路由

返回教程列表🌐 Read in English
进阶8 分钟
AI Skill Navigation 编辑团队

LLM 意图分类:实战教程

在 AI 应用中分类用户意图以进行路由

LLM 意图分类实战(2026):聊天机器人/Agent 的入口。用小模型+固定标签集(Literal/enum)+结构化输出强制返回合法意图,返回置信度做兜底;高并发可用嵌入或微调小模型降本。

LLM 意图分类:实战教程(2026)

意图分类将用户消息路由到正确的处理程序——"账单问题" vs "错误报告" vs "功能请求"——是大多数聊天机器人和 Agent 的入口。LLM 使得构建快速且对措辞鲁棒,但关键在于可靠且低成本地实现。本指南展示了实用模式。

模式:受限分类

给一个小型/廉价模型提供固定的意图列表,并强制它以结构化输出返回其中之一——不要让它自由发挥。

python
from openai import OpenAI
from pydantic import BaseModel
from typing import Literal
client = OpenAI()

class Intent(BaseModel): intent: Literal["billing", "bug_report", "feature_request", "other"] confidence: float

def classify(text: str) -> Intent: r = client.chat.completions.create( model="gpt-4o-mini", messages=[ {"role":"system","content":"将用户消息分类为一种意图。"}, {"role":"user","content":text}], response_format={"type":"json_object"}, ) import json return Intent(**json.loads(r.choices[0].message.content))

使用严格的模式,使输出始终是您的意图之一——参见结构化输出 / Pydantic AI vs Instructor。强制选择背后的机制是函数/工具调用

使其可靠且廉价

  • 使用小模型(gpt-4o-mini / Haiku)——分类很少需要前沿模型。参见GPT-4o mini vs Claude Haiku
  • 约束标签集,使用枚举/Literal;添加显式的 "other" 用于未知类别。
  • 在系统提示中为模糊情况提供少量示例
  • 返回置信度,并将低置信度消息路由到后备或人工处理。
  • 考虑嵌入用于极高并发:通过最近邻分类到标记示例(比 LLM 调用更便宜)——参见语义搜索
  • 何时微调

    如果并发量巨大且意图稳定,微调的小模型或嵌入分类器可以进一步降低成本和延迟。从提示分类开始;只有当并发量证明合理时才升级到微调。

    常见问题

    使用哪个模型? 小型模型——分类很简单;将前沿模型留给任务本身。 如何保证有效标签? 枚举/Literal + 结构化输出,加上 "other" 兜底。 嵌入还是 LLM? LLM 用于灵活性;嵌入用于高并发、成本敏感的路由。 如何处理不确定性? 返回置信度,并将低置信度情况路由到后备/人工处理。

    总结

    LLM 意图分类 = 廉价模型 + 受限标签集 + 结构化输出,加上基于置信度的后备。使用 Literal/枚举保证有效标签,为棘手情况提供少量示例,并在并发量要求时转向嵌入或微调模型。它是聊天机器人和 Agent 的可靠入口。


    *最后更新:2026 年 6 月。请根据 OpenAI 文档验证 API。*

    相关工具

    openaipython
    所属主题:OpenAI 开发实战