changes in ragas_metrics module #2218
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
This PR fixes compatibility issues between Giskard's RAG evaluation and
ragas>=0.3.x.In
ragas 0.3.x, the RAGAS API introduced two breaking changes:BaseRagasLLMnow defines an abstract methodis_finished(), which caused:TypeError: Can't instantiate abstract class RagasLLMWrapper with abstract method is_finished.RAGAS metrics (e.g.
AnswerRelevancy) no longer expose.score(dict)and instead usesingle_turn_score(SingleTurnSample), causing:AttributeError: 'AnswerRelevancy' object has no attribute 'score'.This PR:
is_finished()inRagasLLMWrapperto conform to the newBaseRagasLLMinterface.RagasMetric.__call__to:ragas_sampledict into aSingleTurnSample.metric.single_turn_score(sample)when available.metric.score(ragas_sample)for older RAGAS versions.ragas 0.3.x.Related Issue
This PR fixes #2217
Type of Change
Checklist
CODE_OF_CONDUCT.mddocument.CONTRIBUTING.mdguide.pdm.lockrunningpdm update-lock(only applicable whenpyproject.tomlhas beenmodified)