password
查看人数
type
status
date
slug
summary
category
icon
tags
作者
状态
😀

工作流逻辑

  1. 从 START开始,进入 generate_joke节点生成初始笑话
  1. 通过 check_punchline检查笑话质量:
      • 如果通过 (Pass),直接结束 (END)
      • 如果失败 (Fail),进入 improve_joke节点改进笑话
  1. 改进后的笑话进入 polish_joke节点进行最终润色
  1. 最后到达 END结束

代码解释:LangChain 状态图工作流示例

这段代码展示了一个使用 LangChain 的 StateGraph创建笑话生成工作流的完整示例。下面我将详细解释每个部分:

1. 状态定义

定义了一个类型化的字典 State,用于表示工作流的状态,包含四个字段:
  • topic: 笑话的主题(如"cats")
  • joke: 初始生成的笑话
  • improved_joke: 改进后的笑话
  • final_joke: 最终润色后的笑话

2. 节点函数

生成初始笑话

调用 LLM 生成关于给定主题的初始笑话。

检查笑点

简单的质量检查,通过检查是否包含问号或感叹号来判断笑话是否有笑点。

改进笑话

如果初始笑话不合格,调用 LLM 添加文字游戏来改进笑话。

润色笑话

对改进后的笑话进行最终润色,添加意外转折。

3. 构建工作流

创建状态图

添加节点

添加边和条件分支

4. 编译和执行

编译工作流

可视化工作流

生成并显示工作流的 Mermaid 图。

执行工作流

传入初始状态(主题为"cats")并执行工作流。

输出结果

这个示例展示了如何使用 LangChain 的状态图功能构建一个有条件分支的多步骤 LLM 工作流。
 
💡
有关使用上的问题,欢迎您在底部评论区留言,一起交流~
ai工具调用langchain智能体实现
Loading...