核心提示词管理功能A/B 测试

LLM Prompt 的 A/B 测试

Litefuse Prompt 管理支持 A/B 测试:你可以给同一个 prompt 的不同版本打标签(例如 prod-aprod-b),让应用在这些版本之间随机切换,同时由 Litefuse 跟踪每个版本的响应延迟、成本、token 用量和评估指标等性能数据。

何时使用 A/B 测试?

A/B 测试可以让你看到不同 prompt 版本在真实场景下的表现,是对数据集测试的补充。它最适合以下场景:

  • 你的应用具备良好的成功度量方式,能处理各类用户输入,并且能容忍一定的性能波动。这通常适用于错误成本不高的消费级应用。
  • 你已经在测试数据上做过充分验证,想先在小部分用户中尝试新改动,再全量发布(也叫灰度发布)。

实现方式

给你的 prompt 版本打标签

给 prompt 版本打标签(例如 prod-aprod-b),用以标识不同的测试变体。

获取 prompt 并运行 A/B 测试

from langfuse import get_client
import random
from langfuse.openai import openai
 
# Requires environment variables for initialization
from langfuse import get_client
langfuse = get_client()
 
# Fetch prompt versions
prompt_a = langfuse.get_prompt("my-prompt-name", label="prod-a")
prompt_b = langfuse.get_prompt("my-prompt-name", label="prod-b")
 
# Randomly select version
selected_prompt = random.choice([prompt_a, prompt_b])
 
# Use in LLM call
response = openai.chat.completions.create(
    model="gpt-3.5-turbo",
    messages=[{"role": "user", "content": selected_prompt.compile(variable="value")}],
    # Link prompt to generation for analytics
    langfuse_prompt=selected_prompt
)
result_text = response.choices[0].message.content

更多关于如何获取和使用 prompt 的示例,参见 prompt 管理文档

分析结果

在 Litefuse UI 中比较各 prompt 版本的指标:

可比较的关键指标包括:

  • 响应延迟和 token 用量
  • 单次请求成本
  • 质量评估分数
  • 你定义的自定义指标

相关资源

  • 想在数据集上对完整应用行为做基准测试(不仅仅是 prompt 选择),使用 Experiments
这个页面对你有帮助吗?