Skip to content

条件路由

条件路由用于根据当前状态决定下一步走哪个节点。

示例

python
def route_by_intent(state):
    if state["intent"] == "query_order":
        return "order_node"
    if state["intent"] == "search_doc":
        return "rag_node"
    return "fallback_node"

graph.add_conditional_edges(
    "classify",
    route_by_intent,
    {
        "order_node": "order_node",
        "rag_node": "rag_node",
        "fallback_node": "fallback_node"
    }
)

适用场景

  • 按意图分流。
  • 按工具调用结果分流。
  • 按审核结果分流。
  • 按异常类型分流。
  • 按置信度决定是否人工介入。

设计建议

条件路由最好可解释。不要把所有路由判断都交给模型黑盒决定,可以结合规则、置信度和枚举值。

非官方声明

本站为个人维护的非官方中文学习文档,不代表 LangChain 官方。页面内容是基于公开文档、源码实践和中文开发者视角重新整理的学习资料。涉及 API 细节时,请以官方文档和实际安装版本为准。

参考来源

  • LangChain / LangGraph 官方文档:https://docs.langchain.com/
  • LangChain API Reference:https://reference.langchain.com/
  • 本站内容为中文学习整理,不做官方身份声明。

本站为非官方中文学习站点,不代表 LangChain 官方。部分内容参考官方文档并重新整理为中文学习笔记。