ChainForge 是一个数据流提示工程环境,用于分析和评估 LLM 响应。它旨在对提示、聊天响应和响应质量进行早期、快速而直接的探索,而不仅仅是与个别 LLM 的临时聊天。使用 ChainForge,你可以:
- 一次查询多个 LLM,快速有效地测试提示的想法和变化。
- 比较不同提示排列、不同模型和不同模型设置的响应质量,以选择最适合你的用例的提示和模型。
- 设置评估指标(评分函数)并立即可视化提示、提示参数、模型和模型设置的结果。
- 跨模板参数和聊天模型同时进行多个对话。模板不仅仅是提示,还包括后续聊天消息,并在每次聊天对话时检查和评估输出。
ChainForge 附带了许多示例评估流程,让你了解可能性,其中包括根据 OpenAI 评估中的基准生成的 188 个示例流程。
ChainForge 的一个关键目标是促进提示和模型的比较和评估。基本特点是:
- 提示排列:设置提示模板并向其提供输入变量的变体。ChainForge 将提示所有选定的 LLM 以及输入提示的所有可能排列,以便你可以更好地感受到提示质量。你还可以以任意深度链接提示模板(例如,比较模板)。
- 聊天轮流:超越提示和模板后续聊天消息,就像提示一样。你可以测试用户查询的措辞如何改变 LLM 的输出,或者比较多个聊天模型(或具有不同设置的相同聊天模型!)的后续响应的质量。
- 模型设置:更改支持的模型的设置,并比较不同的设置。例如,你可以通过添加多个 ChatGPT 模型、更改单个设置以及给每个模型起昵称来衡量系统消息对 ChatGPT 的影响。ChainForge 将向模型的每个版本发送查询。
- 评估节点:探测链中的 LLM 响应并(经典地)测试它们的某些所需行为。从根本上讲,这是基于 Python 脚本的。计划在不久的将来为常见用例添加预设评估器节点(例如,名称实体识别)。注意,你还可以将 LLM 响应链接到提示模板中,以帮助在更广泛的评估方法之前以较低的成本评估输出。
- 可视化节点:在分组盒须图(对于 numeric metrics)和直方图(对于 boolean metrics)等图上可视化评估结果。目前仅支持 numeric 和 boolean metrics。目标是在未来为用户提供更多的绘图控制和选项。
总而言之,这些功能可让你轻松:
- 比较提示和提示参数:选择能够最大化你的评估目标指标(例如,最低代码错误率)的最佳提示集。或者,了解更改提示模板中的参数如何影响响应的质量。
- 跨模型比较:跨模型和不同模型设置比较每个提示的响应。