痛点
之前有 4 篇教程,我们都 提及了 fabric 这款工具。在这些教程里,我已经为你展示了如何用 fabric 实现以下功能:
有的小伙伴兴奋不已,也用得很舒服。但是,随着更多人的尝试,fabric 的问题也逐渐显现出来。
首先是安装设置比较困难,尤其是对于 Windows 用户来说。
有的小伙伴,甚至都准备上 vmware + Ubuntu 了。
fabric 在 Windows 上安装困难的这个问题,原本我以为随着时间推移会自然解决。因为 fabric 官方 Github 上面说了,会在几个星期内切换到 go 版本,安装会「异常简便」。
只不过,fabric 官方 5 月份宣布的消息,这都过去快俩月了,也没实现。很多 Windows 用户耐心余额明显不足。
好在官方既然给出了「几个星期」的时间表,我们总还有些盼头。可另外的一个问题,恐怕就连 fabric 切换到 go 语言版本后也没法解决—— fabric 虽然可以用管道链接的方式处理工作流,但是它更适合处理的是「上一个阶段的输出」直接成为「下一阶段的输入」这样的情况。如果你在某个阶段的输入,需要综合前面若干阶段的输出结果,那就比较麻烦了。
我在 上一次的文章里,采用 Python 编程的方式来处理解决。
但是,这里定义数据处理方法后,也不算是完事大吉。因为后面用户还需要采用 Python 代码形式来调用它们:
如果你没有 Python 基础知识,基本上也就不大可能自行去调整工作流的定义和顺序摆放,来适应自己的需求了。
我反思了一下,觉得大家更想要获得的是灵活简便定义、构建工作流的方式,而非一定要用某一款框架来实现。
所以,我花了些时间,重构了工作流运行的 Python 脚本。下面我给你演示一下,现在工作流的定义可以变成多么简单的样子。
样例
要设定工作流由哪些大语言模型来完成任务,具体执行什么操作,以及如何组织不同阶段的输入内容,你只需要按照下面的样式,给出定义。
这个 YAML 文件定义了一个文本处理工作流,包含三个连续的阶段(这里称为策略,strategy)。每个阶段使用特定模型处理文本,下一个阶段可以综合使用前导阶段的输出作为输入。
其实你看到它应该感觉眼熟。没错,它就是你在《如何用 AI 工作流实现高质量长文翻译?》一文中已经看到过的,使用反思式翻译的英译中工作流。
下面咱们详细说说:
第一个阶段:翻译
模型:
openrouter/google/gemini-flash-1.5
,使用 Google 的 Gemini Flash 1.5 模型进行处理。提示名称:
translate_cn
,这是用于中文翻译的指令模板。跟咱们之前 在这篇文章中设定的 没有区别。输入格式:
"{{text}}"
,直接使用用户输入的原始文本作为输入。输出名称:
translation
,翻译结果将被标记为 "translation" 供后续阶段使用。
第二个阶段:评价翻译
模型:
openrouter/anthropic/claude-3.5-sonnet
,使用 Anthropic 的 Claude 3.5 Sonnet 模型,它的思考、评价与规划能力更强。提示名称:
comment_cn_trans
,这是用于评论中文翻译的提示词。输入格式:包含原始文本和第一步的翻译结果。
输出名称:
reflection
,输出被标记为 "reflection",是对翻译的评价。
第三个阶段:改进翻译
模型:
openrouter/anthropic/claude-3.5-sonnet
,再次使用 Claude 3.5 Sonnet 模型。提示名称:
improved_trans_cn
,这是用于改进中文翻译的提示词。输入格式:包含原始文本、第一步的翻译结果和第二步的评论。
输出名称:
improvement
,输出被标记为 "improvement",是改进后的翻译。
另外,每个阶段的 output_name
都被存储,并在后续阶段的 input_format
中通过 {{名称}}
的方式引用。这允许工作流程中的每个步骤都能利用之前步骤的结果。
你看,就这么简单。比起把工作流的输入、输出和调用用 Python 形式来表示,这里用 YAML 的方式要方便许多。对普通用户来说,也更加容易理解和自行修改。
Python 脚本读取这个 YAML 后,会自动按顺序应用这些阶段来处理输入文本。脚本依然会自动处理长文本的分块、大语言模型和对应系统提示词调用、结果整合输出等细节,确保整个工作流程流畅执行。
类似地,咱们之前介绍过得音视频转写文本润色工作流,是这样的:
你看,在这里咱们可以方便地采用国产模型,包括零一万物的 Yi Large,以及通义千问的 Qwen2 等。这些国产模型目前更加便宜,可以有效降低你使用 AI 工作流的成本。
下面咱们来介绍一下安装与使用的方法。比起之前的方式,难度至少降低一个量级。
安装
你可以 到这个 GitHub 仓库 查看我为你制作的新项目详细信息。
对了,别忘了给我点亮一颗星(在 GitHub 上加个 Star)。
你可以通过以下三种方式下载项目文件:
第一种方式是通过 Git 命令克隆仓库:
git clone https://github.com/wshuyi/workflows_with_litellm_pub.git
这种方式比较推荐。因为如果后续有更新,直接拉取更加容易。
第二种方式是从 Github 下载项目打包 ZIP 文件,地址是:
https://github.com/wshuyi/workflows_with_litellm_pub/archive/refs/heads/main.zip
第三种方式是从 Notion 页面下载:我已经将文件上传到了 Notion 页面,请你从这个链接下载。
下载解压后,你会看到如下的目录结构:
在我的例子中,解压后的文件夹路径是:/Users/wsy/Downloads/workflows_with_litellm_pub-main
。注意在后续的设置中,你需要根据自己的情况对应这个目录路径进行修改。
注意执行下列命令之前,请确保你已经安装并更新到最新版本的 Anaconda 或者 MiniConda。
Keep reading with a 7-day free trial
Subscribe to Shuyi’s Newsletter to keep reading this post and get 7 days of free access to the full post archives.