Skip to content

Commit e5c8880

Browse files
committed
Try and fix answer_correctness after switching to llm, and enforcing env cleanup
1 parent ec62a68 commit e5c8880

File tree

2 files changed

+13
-2
lines changed

2 files changed

+13
-2
lines changed

evaluators/ragas/langevals_ragas/lib/common.py

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
EvaluatorEntry,
1111
)
1212
from pydantic import Field
13-
from ragas import evaluate
13+
from ragas import RunConfig, evaluate
1414
from ragas.metrics.base import Metric
1515
from ragas.llms import LangchainLLMWrapper
1616
from ragas.metrics import (
@@ -83,6 +83,15 @@ def evaluate_ragas(
8383

8484
gpt, client = model_to_langchain(settings.model)
8585
gpt_wrapper = LangchainLLMWrapper(langchain_llm=gpt)
86+
87+
_original_generate = gpt_wrapper.generate
88+
89+
def generate(*args, **kwargs):
90+
kwargs["is_async"] = False
91+
return _original_generate(*args, **kwargs)
92+
93+
gpt_wrapper.generate = generate
94+
8695
embeddings = embeddings_model_to_langchain(settings.embeddings_model)
8796

8897
answer_relevancy.llm = gpt_wrapper

langevals/server.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,8 +79,10 @@ class Request(BaseModel):
7979
async def evaluate(
8080
req: Request,
8181
) -> List[result_type | EvaluationResultSkipped | EvaluationResultError]: # type: ignore
82-
os.environ = original_env # always try to set env vars from the original env back again to avoid side effects
82+
os.environ.clear()
83+
os.environ.update(original_env) # always try to set env vars from the original env back again to avoid side effects
8384
evaluator = evaluator_cls(settings=(req.settings or {}), env=req.env) # type: ignore
85+
os.environ.clear()
8486
result = evaluator.evaluate_batch(req.data)
8587
return result
8688

0 commit comments

Comments
 (0)