大家好,我是北平牧哥。
过去我们想学习一门技术时,需要在网上找教程来看。有许多教程网站会提供各种教程供人学习。在 AI 时代,我们可以借助大语言模型来帮我们生成任何你想学习的教程。
在这篇文章里,我将手把手教你用 Dify 来打造一个自动化教程生成工具。
我们的目标是只要输入一个你想学习的技术(例如:Python, MongoDB ),AI 工作流就能帮你产出一套完整的教学课程。
那么我们开始吧!
设计思路
我们总体的设计思路是:
关于工作流
工作流( Workflow )是一系列有序的任务、活动或者步骤,被设计用来完成特定的业务流程或者工作流程。通过将复杂任务拆分成较小的子任务(节点) ,降低了系统的复杂度。它可以把上述的设计思路具象化为一系列节点,从而实现我们的目标。
操作步骤
开始
工作流都是由从“开始”节点开始执行,在这里可以配置用户输入的变量。我们的例子中,需要配置的是用户需要的教程名称。
生成课程大纲
这一步需要使用 LLM 大模型进行生成,所以需要添加一个 LLM 模块。Dify 提供了一些免费的配额使用,这里我使用的是 o1-mini-2024-09-12 。
大模型生成内容质量的关键是提示词的设计,下图中的提示词可以作为一个参考。它要求大模型生成一个课程提纲,并且以 JSON 格式输出。
下面是其他可以使用的大模型列表
下图是一个生成结果示例
数据结构化转换
尽管是以 JSON 输出,大模型输出的并不是 JSON 对象而是 markdown 格式文本,并且前后带有json ...
这样的 md 标识符。所以需要进行结构化处理。可以选择 Dify 的模板转换,我这里是用 [代码执行] 节点去处理,原因是模板转换需要用 Jina 编写解析模板,增加了学习曲线。而用代码则只要正则表达式处理一下就可以拿到 json 文本,再简单处理一下就可以了。
经过这一步就把 LLM 返回的结构转换成按照小节为单位的数组,下一步就可以对每个小节进行迭代生成教程文章了。
迭代生成教程文章
这一步我们要加一个 [迭代] 节点,它可以把上一步输入的数组逐项代入进行操作。先看下整体迭代。
迭代器需要指定一个输入和一个输出变量,均为数组格式。
在 [转 OBJECT ] 节点里,我们需要把迭代传入的 item 对象做一下拆解转换,这样后续的工作流节点里才能更清晰地使用每一个变量,而不是只能拿到 item Object 。
转换后输出 chapter, subtitle, title 三个变量。
生成文章
又要用到 LLM 了,同样也是配置提示词。这里就用到前面转换的变量了,通过把章节标题(title)和子标题(subtitle)带入进提示词,就可以迭代执行 LLM 生成文章内容。
输出
迭代完成后,添加 [结束] 节点,添加要输出的变量即可。
以上就是整个工作流的核心流程,但输出的只是一个结构化数据,如果想使用还需要后续一些简单处理,这里不再赘述。整体流程执行过程如下:
当然你也可以用这个思路建一个 Chat 流程,以对话的方式直接输出。
总结
你已经学会了如何使用 Dify 创建一个自动化教程生成工具。借助大语言模型的强大能力,我们可以高效地生成完整的教学内容,从大纲到每一章的具体细节,整个过程完全自动化。希望这个工具能够帮助你更轻松地创建高质量的教学资源,提升学习与分享的效率。
1
setimouse OP |
2
Cola98 36 天前
哥们,你的图挂了
|
3
SantinoSong 35 天前
看不到图
|