Skip to content

Commit e9d8c31

Browse files
ofermendsulekzcjcenizalvish119toastedqu
authored
Version 0.2.1 RC from dev (#133)
* Clean up merge conflicts from dev -> main (#90) Merge dev to main for v0.1.4 (#82) * upgraded libs * updated to be compliant with PEP 625 * update MANIFESH.in * updated versions to remove security vulnerabilities * Reformat Open-RAG-Eval -> Open RAG Eval. (#76) * Update publish_release.yml (#80) Added OPENAI key (from secrets) for publish script * Update test.yml (#79) * Llama index connector (#78) * initial llama_index_connector * refactored connector to be a true base class with fetch_data CSVConnector (and unit test) removed since it's really just a results loader and not a true connector * fixe lint issues * updated copilot recommendation * updated after fixing tests * added llama_index in requirements * updated * fixed connector tests and moved to use Pandas instead of CSV * moved configs to separate folder * folder re-arranged * fixed unit test * more updated on README * updated per Suleman's comments * added test_rag_results_loader * updated LI connector to include citations * upgraded transformers version * updated * updated llama_index connector * updates to config file comments * Update _version.py (#81) --------- Co-authored-by: Ofer Mendelevitch <ofermend@gmail.com> Co-authored-by: CJ Cenizal <cj@cenizal.com> * Added support to process queries in parallel across all connectors. * Version bumped version to 0.1.7 (#110) fixed lint issues and bumped version to 0.1.7 * Merge conflict 1 (#112) * Merge dev to main for v0.1.4 (#82) * upgraded libs * updated to be compliant with PEP 625 * update MANIFESH.in * updated versions to remove security vulnerabilities * Reformat Open-RAG-Eval -> Open RAG Eval. (#76) * Update publish_release.yml (#80) Added OPENAI key (from secrets) for publish script * Update test.yml (#79) * Llama index connector (#78) * initial llama_index_connector * refactored connector to be a true base class with fetch_data CSVConnector (and unit test) removed since it's really just a results loader and not a true connector * fixe lint issues * updated copilot recommendation * updated after fixing tests * added llama_index in requirements * updated * fixed connector tests and moved to use Pandas instead of CSV * moved configs to separate folder * folder re-arranged * fixed unit test * more updated on README * updated per Suleman's comments * added test_rag_results_loader * updated LI connector to include citations * upgraded transformers version * updated * updated llama_index connector * updates to config file comments * Update _version.py (#81) --------- Co-authored-by: Ofer Mendelevitch <ofermend@gmail.com> Co-authored-by: CJ Cenizal <cj@cenizal.com> * Update publish_release.yml (#95) Fix issue with ONNX install * merge dev into main for release 0.1.6 (#103) * Clean up merge conflicts from dev -> main (#90) Merge dev to main for v0.1.4 (#82) * upgraded libs * updated to be compliant with PEP 625 * update MANIFESH.in * updated versions to remove security vulnerabilities * Reformat Open-RAG-Eval -> Open RAG Eval. (#76) * Update publish_release.yml (#80) Added OPENAI key (from secrets) for publish script * Update test.yml (#79) * Llama index connector (#78) * initial llama_index_connector * refactored connector to be a true base class with fetch_data CSVConnector (and unit test) removed since it's really just a results loader and not a true connector * fixe lint issues * updated copilot recommendation * updated after fixing tests * added llama_index in requirements * updated * fixed connector tests and moved to use Pandas instead of CSV * moved configs to separate folder * folder re-arranged * fixed unit test * more updated on README * updated per Suleman's comments * added test_rag_results_loader * updated LI connector to include citations * upgraded transformers version * updated * updated llama_index connector * updates to config file comments * Update _version.py (#81) --------- Co-authored-by: Ofer Mendelevitch <ofermend@gmail.com> Co-authored-by: CJ Cenizal <cj@cenizal.com> * Fix issue with release process and ONNX (#96) initial * Enable base_url. * Update .gitignore * Remove print statement. * added fixed seed for umbrela * Update README.md with the new UI Removed "visualize" step for the "run on Vectara vs with a connector" and condensed everything into "Visualization" section * initial * Added evaluation screenshots to ReadMe * fixed issues from copilot review * fixed lint issues * updated per copilot suggestion * added print of no answer in vectara connector * added seed=42 to boost consistency * bump version (#104) * bump version * bugfix with gemini to catch genai.exceptions * bugfix (#105) * fixed lint issue (#106) --------- Co-authored-by: Suleman <108358100+sulekz@users.noreply.github.com> Co-authored-by: CJ Cenizal <cj@cenizal.com> Co-authored-by: Suleman Kazi <suleman@vectara.com> Co-authored-by: Renyi Qu <mikustokes@gmail.com> Co-authored-by: Stokes Q <33497497+toastedqu@users.noreply.github.com> Co-authored-by: Donna <yu.donna.dong@gmail.com> --------- Co-authored-by: Suleman <108358100+sulekz@users.noreply.github.com> Co-authored-by: CJ Cenizal <cj@cenizal.com> Co-authored-by: Suleman Kazi <suleman@vectara.com> Co-authored-by: Renyi Qu <mikustokes@gmail.com> Co-authored-by: Stokes Q <33497497+toastedqu@users.noreply.github.com> Co-authored-by: Donna <yu.donna.dong@gmail.com> * After rebase1 (#116) * Merge dev to main for v0.1.4 (#82) * upgraded libs * updated to be compliant with PEP 625 * update MANIFESH.in * updated versions to remove security vulnerabilities * Reformat Open-RAG-Eval -> Open RAG Eval. (#76) * Update publish_release.yml (#80) Added OPENAI key (from secrets) for publish script * Update test.yml (#79) * Llama index connector (#78) * initial llama_index_connector * refactored connector to be a true base class with fetch_data CSVConnector (and unit test) removed since it's really just a results loader and not a true connector * fixe lint issues * updated copilot recommendation * updated after fixing tests * added llama_index in requirements * updated * fixed connector tests and moved to use Pandas instead of CSV * moved configs to separate folder * folder re-arranged * fixed unit test * more updated on README * updated per Suleman's comments * added test_rag_results_loader * updated LI connector to include citations * upgraded transformers version * updated * updated llama_index connector * updates to config file comments * Update _version.py (#81) --------- Co-authored-by: Ofer Mendelevitch <ofermend@gmail.com> Co-authored-by: CJ Cenizal <cj@cenizal.com> * Update publish_release.yml (#95) Fix issue with ONNX install * merge dev into main for release 0.1.6 (#103) * Clean up merge conflicts from dev -> main (#90) Merge dev to main for v0.1.4 (#82) * upgraded libs * updated to be compliant with PEP 625 * update MANIFESH.in * updated versions to remove security vulnerabilities * Reformat Open-RAG-Eval -> Open RAG Eval. (#76) * Update publish_release.yml (#80) Added OPENAI key (from secrets) for publish script * Update test.yml (#79) * Llama index connector (#78) * initial llama_index_connector * refactored connector to be a true base class with fetch_data CSVConnector (and unit test) removed since it's really just a results loader and not a true connector * fixe lint issues * updated copilot recommendation * updated after fixing tests * added llama_index in requirements * updated * fixed connector tests and moved to use Pandas instead of CSV * moved configs to separate folder * folder re-arranged * fixed unit test * more updated on README * updated per Suleman's comments * added test_rag_results_loader * updated LI connector to include citations * upgraded transformers version * updated * updated llama_index connector * updates to config file comments * Update _version.py (#81) --------- Co-authored-by: Ofer Mendelevitch <ofermend@gmail.com> Co-authored-by: CJ Cenizal <cj@cenizal.com> * Fix issue with release process and ONNX (#96) initial * Enable base_url. * Update .gitignore * Remove print statement. * added fixed seed for umbrela * Update README.md with the new UI Removed "visualize" step for the "run on Vectara vs with a connector" and condensed everything into "Visualization" section * initial * Added evaluation screenshots to ReadMe * fixed issues from copilot review * fixed lint issues * updated per copilot suggestion * added print of no answer in vectara connector * added seed=42 to boost consistency * bump version (#104) * bump version * bugfix with gemini to catch genai.exceptions * bugfix (#105) * fixed lint issue (#106) --------- Co-authored-by: Suleman <108358100+sulekz@users.noreply.github.com> Co-authored-by: CJ Cenizal <cj@cenizal.com> Co-authored-by: Suleman Kazi <suleman@vectara.com> Co-authored-by: Renyi Qu <mikustokes@gmail.com> Co-authored-by: Stokes Q <33497497+toastedqu@users.noreply.github.com> Co-authored-by: Donna <yu.donna.dong@gmail.com> * Clean up merge conflicts from dev -> main (#90) Merge dev to main for v0.1.4 (#82) * upgraded libs * updated to be compliant with PEP 625 * update MANIFESH.in * updated versions to remove security vulnerabilities * Reformat Open-RAG-Eval -> Open RAG Eval. (#76) * Update publish_release.yml (#80) Added OPENAI key (from secrets) for publish script * Update test.yml (#79) * Llama index connector (#78) * initial llama_index_connector * refactored connector to be a true base class with fetch_data CSVConnector (and unit test) removed since it's really just a results loader and not a true connector * fixe lint issues * updated copilot recommendation * updated after fixing tests * added llama_index in requirements * updated * fixed connector tests and moved to use Pandas instead of CSV * moved configs to separate folder * folder re-arranged * fixed unit test * more updated on README * updated per Suleman's comments * added test_rag_results_loader * updated LI connector to include citations * upgraded transformers version * updated * updated llama_index connector * updates to config file comments * Update _version.py (#81) --------- Co-authored-by: Ofer Mendelevitch <ofermend@gmail.com> Co-authored-by: CJ Cenizal <cj@cenizal.com> * initial * fixed issues from copilot review * Added support to process queries in parallel across all connectors. * Updated CitationMetric * Version bumped version to 0.1.7 (#110) fixed lint issues and bumped version to 0.1.7 * Merge conflict 1 (#112) * Merge dev to main for v0.1.4 (#82) * upgraded libs * updated to be compliant with PEP 625 * update MANIFESH.in * updated versions to remove security vulnerabilities * Reformat Open-RAG-Eval -> Open RAG Eval. (#76) * Update publish_release.yml (#80) Added OPENAI key (from secrets) for publish script * Update test.yml (#79) * Llama index connector (#78) * initial llama_index_connector * refactored connector to be a true base class with fetch_data CSVConnector (and unit test) removed since it's really just a results loader and not a true connector * fixe lint issues * updated copilot recommendation * updated after fixing tests * added llama_index in requirements * updated * fixed connector tests and moved to use Pandas instead of CSV * moved configs to separate folder * folder re-arranged * fixed unit test * more updated on README * updated per Suleman's comments * added test_rag_results_loader * updated LI connector to include citations * upgraded transformers version * updated * updated llama_index connector * updates to config file comments * Update _version.py (#81) --------- Co-authored-by: Ofer Mendelevitch <ofermend@gmail.com> Co-authored-by: CJ Cenizal <cj@cenizal.com> * Update publish_release.yml (#95) Fix issue with ONNX install * merge dev into main for release 0.1.6 (#103) * Clean up merge conflicts from dev -> main (#90) Merge dev to main for v0.1.4 (#82) * upgraded libs * updated to be compliant with PEP 625 * update MANIFESH.in * updated versions to remove security vulnerabilities * Reformat Open-RAG-Eval -> Open RAG Eval. (#76) * Update publish_release.yml (#80) Added OPENAI key (from secrets) for publish script * Update test.yml (#79) * Llama index connector (#78) * initial llama_index_connector * refactored connector to be a true base class with fetch_data CSVConnector (and unit test) removed since it's really just a results loader and not a true connector * fixe lint issues * updated copilot recommendation * updated after fixing tests * added llama_index in requirements * updated * fixed connector tests and moved to use Pandas instead of CSV * moved configs to separate folder * folder re-arranged * fixed unit test * more updated on README * updated per Suleman's comments * added test_rag_results_loader * updated LI connector to include citations * upgraded transformers version * updated * updated llama_index connector * updates to config file comments * Update _version.py (#81) --------- Co-authored-by: Ofer Mendelevitch <ofermend@gmail.com> Co-authored-by: CJ Cenizal <cj@cenizal.com> * Fix issue with release process and ONNX (#96) initial * Enable base_url. * Update .gitignore * Remove print statement. * added fixed seed for umbrela * Update README.md with the new UI Removed "visualize" step for the "run on Vectara vs with a connector" and condensed everything into "Visualization" section * initial * Added evaluation screenshots to ReadMe * fixed issues from copilot review * fixed lint issues * updated per copilot suggestion * added print of no answer in vectara connector * added seed=42 to boost consistency * bump version (#104) * bump version * bugfix with gemini to catch genai.exceptions * bugfix (#105) * fixed lint issue (#106) --------- Co-authored-by: Suleman <108358100+sulekz@users.noreply.github.com> Co-authored-by: CJ Cenizal <cj@cenizal.com> Co-authored-by: Suleman Kazi <suleman@vectara.com> Co-authored-by: Renyi Qu <mikustokes@gmail.com> Co-authored-by: Stokes Q <33497497+toastedqu@users.noreply.github.com> Co-authored-by: Donna <yu.donna.dong@gmail.com> --------- Co-authored-by: Suleman <108358100+sulekz@users.noreply.github.com> Co-authored-by: CJ Cenizal <cj@cenizal.com> Co-authored-by: Suleman Kazi <suleman@vectara.com> Co-authored-by: Renyi Qu <mikustokes@gmail.com> Co-authored-by: Stokes Q <33497497+toastedqu@users.noreply.github.com> Co-authored-by: Donna <yu.donna.dong@gmail.com> * bugfix --------- Co-authored-by: Suleman <108358100+sulekz@users.noreply.github.com> Co-authored-by: CJ Cenizal <cj@cenizal.com> Co-authored-by: Suleman Kazi <suleman@vectara.com> Co-authored-by: Renyi Qu <mikustokes@gmail.com> Co-authored-by: Stokes Q <33497497+toastedqu@users.noreply.github.com> Co-authored-by: Donna <yu.donna.dong@gmail.com> Co-authored-by: Vishal Naik <naik.vishalishwar@gmail.com> * Fixed lint issues (#127) * Add LLM Judges for Anthropic and Together * Remove Bad kwargs for Anthropic Models * Update structured output method for TogetherModel * Add keyword handling for gemini models * Fix PR Comments * Changed version to 0.2.1 (#132) * some improvements, esp for Together.AI models, version bump etc * updated * bugfix in unit tests * minor updates * Add anthropic and together requirements, config example for llama_index * added TRANSFORMER VERBOSITY override --------- Co-authored-by: david-oplatka <david.oplatka@vectara.com> --------- Co-authored-by: Suleman <108358100+sulekz@users.noreply.github.com> Co-authored-by: CJ Cenizal <cj@cenizal.com> Co-authored-by: Vishal Naik <naik.vishalishwar@gmail.com> Co-authored-by: Suleman Kazi <suleman@vectara.com> Co-authored-by: Renyi Qu <mikustokes@gmail.com> Co-authored-by: Stokes Q <33497497+toastedqu@users.noreply.github.com> Co-authored-by: Donna <yu.donna.dong@gmail.com> Co-authored-by: david-oplatka <david.oplatka@vectara.com>
1 parent 29aa601 commit e9d8c31

File tree

10 files changed

+509
-59
lines changed

10 files changed

+509
-59
lines changed

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,6 @@ mypy:
77
mypy open_rag_eval || true
88

99
test:
10-
python -m unittest discover -s tests -b
10+
TRANSFORMERS_VERBOSITY=error python -m unittest discover -s tests -b
1111

1212
.PHONY: all lint mypy test

config_examples/eval_config_llama_index.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,3 +34,5 @@ connector:
3434
top_k: 10
3535
max_workers: -1 # -1 to use all available CPU cores for parallel processing.
3636
repeat_query: 5 # set this more than one to repeat the query multiple times for consistency evaluation
37+
openai_embedding_model: "text-embedding-3-small"
38+
openai_llm_model: "gpt-4.1-mini"

open_rag_eval/_version.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
"""
22
Define the version of the package.
33
"""
4-
__version__ = "0.2.0"
4+
__version__ = "0.2.1"

open_rag_eval/connectors/llama_index_connector.py

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,33 @@
11
import logging
22
import os
33

4-
from llama_index.core import VectorStoreIndex, SimpleDirectoryReader
4+
from llama_index.core import VectorStoreIndex, SimpleDirectoryReader, Settings
55
from llama_index.core.base.base_query_engine import BaseQueryEngine
66
from llama_index.core.query_engine.citation_query_engine import CitationQueryEngine
7+
from llama_index.embeddings.openai import OpenAIEmbedding
8+
from llama_index.llms.openai import OpenAI
79

810
from open_rag_eval.connectors.connector import Connector
911
from open_rag_eval.utils.constants import NO_ANSWER, API_ERROR
1012

1113
# Configure logging for tenacity
1214
logger = logging.getLogger(__name__)
1315

14-
1516
class LlamaIndexConnector(Connector):
1617

1718
def __init__(
1819
self,
1920
config: dict,
2021
folder: str,
2122
top_k: int = 10,
23+
openai_embedding_model: str = "text-embedding-3-small",
24+
openai_llm_model: str = "gpt-4.1-mini",
2225
max_workers: int = -1,
2326
repeat_query: int = 1, # Add repeat_query parameter
2427
) -> BaseQueryEngine:
28+
Settings.embed_model = OpenAIEmbedding(model=openai_embedding_model)
29+
Settings.llm = OpenAI(model=openai_llm_model, temperature=0.0)
30+
2531
documents = SimpleDirectoryReader(folder).load_data()
2632
index = VectorStoreIndex.from_documents(documents)
2733
retriever = index.as_retriever(similarity_top_k=top_k)

open_rag_eval/metrics/umbrela_metric.py

Lines changed: 68 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -24,42 +24,68 @@ class UMBRELAMetric(RetrievalMetric):
2424
Bing RELevance Assessor paper: https://arxiv.org/pdf/2406.06519
2525
"""
2626

27-
_UMBRELA_PROMPT = """Given a query and a passage, you must provide a score on an
28-
integer scale of 0 to 3 with the following meanings:
29-
0 = represent that the passage has nothing to do with the query,
30-
1 = represents that the passage seems related to the query but
31-
does not answer it,
32-
2 = represents that the passage has some answer for the query,
33-
but the answer may be a bit unclear, or hidden amongst extraneous
34-
information and
35-
3 = represents that the passage is dedicated to the query and
36-
contains the exact answer.
37-
Important Instruction: Assign category 1 if the passage is
38-
somewhat related to the topic but not completely, category 2 if
39-
passage presents something very important related to the entire
40-
topic but also has some extra information and category 3 if the
41-
passage only and entirely refers to the topic. If none of the
42-
above satisfies give it category 0.
43-
Query: {query}
44-
Passage: {passage}
45-
Split this problem into steps:
46-
Consider the underlying intent of the search.
47-
Measure how well the content matches a likely intent of the query
48-
(M).
49-
Measure how trustworthy the passage is (T).
50-
Consider the aspects above and the relative importance of each,
51-
and decide on a final score (O). Final score must be an integer
52-
value only.
53-
Do not provide any code in result. Provide each score in the
54-
format of: a single integer without any reasoning."""
27+
_UMBRELA_PROMPT = """
28+
Given a query and a passage, you must provide a score on an
29+
integer scale of 0 to 3 with the following meanings:
30+
0 = represent that the passage has nothing to do with the query,
31+
1 = represents that the passage seems related to the query but
32+
does not answer it,
33+
2 = represents that the passage has some answer for the query,
34+
but the answer may be a bit unclear, or hidden amongst extraneous
35+
information and
36+
3 = represents that the passage is dedicated to the query and
37+
contains the exact answer.
38+
Important Instruction: Assign category 1 if the passage is
39+
somewhat related to the topic but not completely, category 2 if
40+
passage presents something very important related to the entire
41+
topic but also has some extra information and category 3 if the
42+
passage only and entirely refers to the topic. If none of the
43+
above satisfies give it category 0.
44+
Query: {query}
45+
Passage: {passage}
46+
Split this problem into steps:
47+
Consider the underlying intent of the search.
48+
Measure how well the content matches a likely intent of the query
49+
(M).
50+
Measure how trustworthy the passage is (T).
51+
Consider the aspects above and the relative importance of each,
52+
and decide on a final score (O). Final score must be an integer
53+
value only.
54+
Do not provide any code in result. Provide each score in the
55+
format of: a single integer without any reasoning.
56+
"""
57+
58+
_UMBRELA_NEW_PROMPT = """
59+
Given a query and a passage, you must provide a score on an integer scale of 0 to 3 with the following meanings:
60+
0 = represent that the passage has nothing to do with the query,
61+
1 = represents that the passage seems related to the query but does not answer it,
62+
2 = represents that the passage has some answer for the query,
63+
but the answer may be a bit unclear, or hidden amongst extraneous information and
64+
3 = represents that the passage is dedicated to the query and contains the exact answer.
65+
Important Instructions about score assignment:
66+
- score=1 if the passage is somewhat related to the topic but not completely.
67+
- score=2 if the passage presents something very important related to the entire topic but also has some extra information.
68+
- score=3 if the passage only and entirely refers to the topic.
69+
- score=0 if none of the above is satisfied.
70+
Split this problem into steps:
71+
1. Consider the underlying intent of the search.
72+
2. Measure how well the content matches a likely intent of the query (M).
73+
3. Measure how trustworthy the passage is (T).
74+
4. Consider the aspects above and the relative importance of each, and decide on a final score (O).
75+
Your response must be the final score value (0, 1, 2 or 3) only, without any additional text.
76+
<query>
77+
{query}
78+
</query>
79+
<passage>
80+
{passage}
81+
</passage>
82+
"""
5583

5684
def __init__(self, model: LLMJudgeModel):
5785
"""Initialize the UMBRELA metric.
5886

5987
Args:
60-
model (str): The model to use for the metric assesment.
61-
prompt_override (str): An optional prompt to override the default UMBRELA prompt.
62-
Must hvae placeholders for {query} and {passage}.
88+
model (LLMJudgeModel): The model to use for the metric assesment.
6389
"""
6490
self.model = model
6591
# kwargs to match the UMBRELA paper.
@@ -68,11 +94,8 @@ def __init__(self, model: LLMJudgeModel):
6894
"top_p": 1.0,
6995
"presence_penalty": 0.5,
7096
"frequency_penalty": 0.0,
71-
"seed": 42
97+
"seed": 42,
7298
}
73-
self.prompt = self._UMBRELA_PROMPT
74-
# Any UMBRELA score above this threshold is considered relevant for
75-
# calculation of traditional retrieval metrics like MAP, Precison@k, etc.
7699
self._umbrela_relevant_threshold = 2
77100

78101
def compute(
@@ -85,7 +108,15 @@ def compute(
85108
for key, passage in retrieval_result.retrieved_passages.items():
86109
try:
87110
query = retrieval_result.query
88-
prompt = self.prompt.format(query=query, passage=passage)
111+
if (
112+
"gpt-oss" in self.model.model_name.lower()
113+
or "qwen" in self.model.model_name.lower()
114+
):
115+
prompt = self._UMBRELA_NEW_PROMPT.format(
116+
query=query, passage=passage
117+
)
118+
else:
119+
prompt = self._UMBRELA_PROMPT.format(query=query, passage=passage)
89120
response = self.model.parse(prompt, UMBRELAScore, self.model_kwargs)
90121

91122
if not response.score:
@@ -129,9 +160,7 @@ def add_retrieval_metrics(
129160
relevant_at_k = sum(binary_relevance[:k])
130161

131162
# Calculate precision@K
132-
retrieval_scores["precision@"][f"{k}"] = (
133-
relevant_at_k / k if k > 0 else 0.0
134-
)
163+
retrieval_scores["precision@"][f"{k}"] = relevant_at_k / k if k > 0 else 0.0
135164

136165
# Calculate Average Precision (AP@K)
137166
retrieval_scores["AP@"][f"{k}"] = self._calculate_average_precision(

open_rag_eval/models/__init__.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
1-
from .llm_judges import LLMJudgeModel, OpenAIModel, GeminiModel
1+
from .llm_judges import LLMJudgeModel, OpenAIModel, GeminiModel, AnthropicModel, TogetherModel
22

3-
__all__ = ["LLMJudgeModel", "OpenAIModel", "GeminiModel"]
3+
__all__ = ["LLMJudgeModel", "OpenAIModel", "GeminiModel", "AnthropicModel", "TogetherModel"]

0 commit comments

Comments
 (0)