Skip to content

Commit 91b493e

Browse files
feat: add 7 evaluator factories with tests and updated dependencies (#13)
1 parent d29e2ac commit 91b493e

6 files changed

Lines changed: 1188 additions & 84 deletions

File tree

Makefile

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
.DEFAULT_GOAL := help
22

3-
.PHONY: help install install-dev install-demo lint format typecheck test check fix pre-commit docs docs-serve clean
3+
.PHONY: help install install-dev install-demo sync lint format typecheck test check fix pre-commit docs docs-serve clean
44

55
help: ## Show this help message
66
@grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) \
@@ -15,6 +15,9 @@ install-dev: ## Install package with dev dependencies
1515
install-demo: ## Install package with dev + demo dependencies
1616
uv sync --group dev --group demo
1717

18+
sync: ## Install all extras and dependency groups (for local development)
19+
uv sync --all-extras --all-groups
20+
1821
lint: ## Run ruff linter (check only)
1922
uv run ruff check src tests demo
2023

pyproject.toml

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -14,14 +14,16 @@ dependencies = [
1414
"arize-phoenix>=13.0,<14",
1515
"pandas>=2.0",
1616
"click>=8.0",
17+
"jsonschema>=4.0",
1718
"tomli>=2.0; python_version < '3.11'",
1819
]
1920

2021
[project.optional-dependencies]
21-
langgraph = ["langgraph>=0.2"]
22-
langchain = ["openinference-instrumentation-langchain>=0.1"]
23-
openai = ["openinference-instrumentation-openai>=0.1"]
24-
all = ["evalwire[langgraph,langchain,openai]"]
22+
langgraph = ["langgraph==1.1.3"]
23+
langchain = ["openinference-instrumentation-langchain>=0.1"]
24+
openai = ["openinference-instrumentation-openai>=0.1"]
25+
llm-judge = ["langchain-core>=1.0,<2"]
26+
all = ["evalwire[langgraph,langchain,openai,llm-judge]"]
2527

2628
[project.scripts]
2729
evalwire = "evalwire.cli:main"
@@ -48,11 +50,11 @@ dev = [
4850
demo = [
4951
"evalwire[langgraph,openai]",
5052
"arize-phoenix>=13.0,<14",
51-
"langchain>=0.3,<0.4",
52-
"langchain-core>=0.3,<0.4",
53-
"langchain-openai>=0.2,<0.3",
54-
"langgraph>=1.0,<2",
55-
"openai>=1.0,<2",
53+
"langchain>=1.0,<2",
54+
"langchain-core>=1.0,<2",
55+
"langchain-openai>=1.0,<2",
56+
"langgraph==1.1.3",
57+
"openai>=2.0,<3",
5658
"openinference-instrumentation-langchain>=0.1,<0.2",
57-
"python-dotenv>=1.0",
59+
"python-dotenv>=1.0,<2",
5860
]

src/evalwire/__init__.py

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,31 @@
11
"""evalwire — systematic evaluation of LangGraph nodes with Arize Phoenix."""
22

3-
from evalwire.evaluators import make_membership_evaluator, make_top_k_evaluator
3+
from evalwire.evaluators import (
4+
make_contains_evaluator,
5+
make_exact_match_evaluator,
6+
make_json_match_evaluator,
7+
make_llm_judge_evaluator,
8+
make_membership_evaluator,
9+
make_numeric_tolerance_evaluator,
10+
make_regex_evaluator,
11+
make_schema_evaluator,
12+
make_top_k_evaluator,
13+
)
414
from evalwire.observability import setup_observability
515
from evalwire.runner import ExperimentRunner
616
from evalwire.uploader import DatasetUploader
717

818
__all__ = [
919
"DatasetUploader",
1020
"ExperimentRunner",
21+
"make_contains_evaluator",
22+
"make_exact_match_evaluator",
23+
"make_json_match_evaluator",
24+
"make_llm_judge_evaluator",
1125
"make_membership_evaluator",
26+
"make_numeric_tolerance_evaluator",
27+
"make_regex_evaluator",
28+
"make_schema_evaluator",
1229
"make_top_k_evaluator",
1330
"setup_observability",
1431
# LangGraph helpers — available when the `evalwire[langgraph]` extra is

0 commit comments

Comments
 (0)