跳到内容

调整评估指标以适应目标语言

在使用ragas评估LLM应用工作流时,您可能需要评估非英语语言的应用。在这种情况下,最好将您由LLM驱动的评估指标调整为目标语言。一个显而易见的方法是手动更改指令和示例,但这可能非常耗时。Ragas提供了自动语言适应功能,您可以使用LLM本身自动将任何评估指标调整为目标语言。本Notebook通过一个简单的示例对此进行演示。

为了演示此示例,我们选择一个评估指标并检查其默认提示。

from ragas.metrics import SimpleCriteriaScoreWithReference

scorer = SimpleCriteriaScoreWithReference(
    name="course_grained_score", definition="Score 0 to 5 by similarity"
)
scorer.get_prompts()
{'multi_turn_prompt': <ragas.metrics._simple_criteria.MultiTurnSimpleCriteriaWithReferencePrompt at 0x7fcf409c3880>,
 'single_turn_prompt': <ragas.metrics._simple_criteria.SingleTurnSimpleCriteriaWithReferencePrompt at 0x7fcf409c3a00>}

如您所见,指令和示例都是英语的。设置用于此转换的LLM。

from ragas.llms import llm_factory

llm = llm_factory()

现在,让我们使用adapt方法将其调整为目标语言“印地语”(hindi)。Ragas中的语言适应通过将提示中给出的少量示例翻译成目标语言来实现。指令仍然是英语。

adapted_prompts = await scorer.adapt_prompts(language="hindi", llm=llm)

检查调整后的提示并在需要时进行修正

adapted_prompts
{'multi_turn_prompt': <ragas.metrics._simple_criteria.MultiTurnSimpleCriteriaWithReferencePrompt at 0x7fcf42bc40a0>,
 'single_turn_prompt': <ragas.metrics._simple_criteria.SingleTurnSimpleCriteriaWithReferencePrompt at 0x7fcf722de890>}

使用set_prompts方法将提示设置为新的调整后提示

scorer.set_prompts(**adapted_prompts)

使用调整后的评估指标进行评估

from ragas.dataset_schema import SingleTurnSample

sample = SingleTurnSample(
    user_input="एफिल टॉवर कहाँ स्थित है?",
    response="एफिल टॉवर पेरिस में स्थित है।",
    reference="एफिल टॉवर मिस्र में स्थित है",
)

scorer.llm = llm
await scorer.single_turn_ascore(sample)
0

推理痕迹和得分

{ "reason": "प्रतिक्रिया और संदर्भ के उत्तर में स्थान के संदर्भ में महत्वपूर्ण भिन्नता है।", "score": 0 }