带人工审核的工单处理(精华示例)

英中对照表(代码中的节点名)

表格

步骤 节点英文名(add_node 用) 中文名 功能
1 classify 分类 判断工单类型(售前/售后/技术/其他)
2 retrieve 检索 多源搜索知识库,结果累加(operator.add
3 draft 草稿 生成回复草稿
4 check_quality 质量打分 评估草稿质量,输出分数
5 revise 重写 重写次数+1,清空docs(Overwrite([])
6 escalate 转人工 降级给人工客服处理
7 human_review 人工审核 暂停等待审批(interrupt
8 send 发送回复 执行最终操作(幂等)
# ticket_workflow.py - 综合示例:Multi Schema + 循环 + 中断 + 幂等
from typing import Annotated, Literal
from operator import add
from typing_extensions import TypedDict
from langgraph.graph import StateGraph, START, END, MessagesState
from langgraph.graph.message import add_messages
from langgraph.managed import RemainingSteps
from langgraph.types import interrupt, Command, Overwrite
from langgraph.checkpoint.memory import InMemorySaver

# ===== 1. 状态定义(Multi Schema) =====
class InputState(TypedDict):
    ticket_id: str
    question: str

class OutputState(TypedDict):
    final_answer: str
    escalated: bool

class OverallState(TypedDict):
    ticket_id: str
    question: str
    category: str
    docs: Annotated[list, add]       # 多源检索累加
    draft: str
    score: float
    revisions: int
    final_answer: str
    escalated: bool
    remaining_steps: RemainingSteps  # 步数收敛

class PrivateState(TypedDict):
    prompt_debug: str                # 仅内部调试用

# ===== 2. 节点实现 =====
def classify(state: InputState) -> OverallState:
    """分类(模拟)"""
    q = state["question"]
    if "退款" in q:
        category = "售后"
    elif "技术" in q:
        category = "技术"
    else:
        category = "其他"
    return {"category": category, "revisions": 0, "escalated": False}

def retrieve
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值