Skip to content

G-Eval

G-eval

如果你在用 LLM 搭建应用,评测(evaluation)就是绕不开的一环。下面我们来看看,如何借助 Opik——一个开源、可用于生产环境的端到端 LLM 评测平台——纯粹用自然语言,为你的 LLM 应用创建任意评估指标。开始吧!

问题所在

标准指标通常帮助不大,因为 LLM 即便表达的是同一个意思,也可能生成措辞完全不同的输出。

llm evaluation p333 1

事实上,在很多情况下,把评估指标形式化为一段确定性代码本身就很困难。

解决方案

G-Eval 正是 Opik 中用来解决这个问题的方法,它是一种与具体任务无关的 LLM-as-a-Judge(LLM 评判)指标。LLM-as-a-Judge 的核心思路,是用 LLM 本身去评估和打分各类任务与应用。你只需要(用英文)指定一组评估标准,G-Eval 就会用思维链(Chain of Thought)提示技术生成一系列评估步骤,并返回一个分数。我们来看一个演示。首先,导入 GEval 类,用自然语言定义一个指标:

llm evaluation p333 2

完成!接下来,调用 score 方法来生成一个分数以及给出该分数的理由。下面这个例子中,上下文与输出高度相关,因此得到了一个较高的分数:

llm evaluation p334 1

而如果上下文与输出并不相关,正如预期,我们会得到一个较低的分数:

llm evaluation p334 2

在底层实现上,G-Eval 首先会结合任务说明和评估标准,

拟定出一套评估步骤;随后,这些步骤会与任务本身结合,生成一个最终分数。不过,你也可以轻松自托管 Opik,让数据始终留在你自己的环境里。它几乎能与所有主流框架集成,包括 CrewAI、LlamaIndex、LangChain 和 HayStack。G-Eval 很适合对单个输出打分,但它依然是孤立地看待每一个输出。要可靠地比较不同模型或提示词,我们需要「正面对决」式的评估。

本站内容仅供学习交流,版权归原作者所有。