Skip to content

Commit 29ea67e

Browse files
starrywheatDaisy Mak
andauthored
add custom embeddings for answer relevance (#123)
Fix #117 @shahules786 --------- Co-authored-by: Daisy Mak <[email protected]>
1 parent 53b626e commit 29ea67e

File tree

1 file changed

+7
-2
lines changed

1 file changed

+7
-2
lines changed

src/ragas/metrics/answer_relevance.py

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
from langchain.callbacks.manager import trace_as_chain_group
99
from langchain.embeddings import OpenAIEmbeddings
1010
from langchain.prompts import ChatPromptTemplate, HumanMessagePromptTemplate
11-
11+
from langchain.embeddings.base import Embeddings
1212
from ragas.metrics.base import EvaluationMode, MetricWithLLM
1313
from ragas.metrics.llms import generate
1414

@@ -44,18 +44,23 @@ class AnswerRelevancy(MetricWithLLM):
4444
strictness: int
4545
Here indicates the number questions generated per answer.
4646
Ideal range between 3 to 5.
47+
embeddings: Embedding
48+
The langchain wrapper of Embedding object.
49+
E.g. HuggingFaceEmbeddings('BAAI/bge-base-en')
4750
"""
4851

4952
name: str = "answer_relevancy"
5053
evaluation_mode: EvaluationMode = EvaluationMode.qa
5154
batch_size: int = 15
5255
strictness: int = 3
56+
embeddings: Embeddings | None = None
5357

5458
def __post_init__(self: t.Self):
5559
self.temperature = 0.2 if self.strictness > 0 else 0
5660

5761
def init_model(self: t.Self):
58-
self.embedding = OpenAIEmbeddings() # type: ignore
62+
if self.embeddings is None:
63+
self.embedding = OpenAIEmbeddings() # type: ignore
5964

6065
def _score_batch(
6166
self: t.Self,

0 commit comments

Comments
 (0)