条件路由
条件路由用于根据当前状态决定下一步走哪个节点。
示例
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/ - 本站内容为中文学习整理,不做官方身份声明。