Skip to content

Commit 30ccc00

Browse files
authored
[Evals] Support list examples by dataset version tag (#18534)
previously only supported by timestamp
1 parent 72ae744 commit 30ccc00

File tree

3 files changed

+9
-14
lines changed

3 files changed

+9
-14
lines changed

libs/langchain/langchain/smith/evaluation/runner_utils.py

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -979,20 +979,15 @@ def _prepare_eval_run(
979979
) -> Tuple[MCF, TracerSession, Dataset, List[Example]]:
980980
wrapped_model = _wrap_in_chain_factory(llm_or_chain_factory, dataset_name)
981981
dataset = client.read_dataset(dataset_name=dataset_name)
982-
as_of = dataset_version if isinstance(dataset_version, datetime) else None
983-
if isinstance(dataset_version, str):
984-
raise NotImplementedError(
985-
"Selecting dataset_version by tag is not yet supported."
986-
" Please use a datetime object."
987-
)
988-
examples = list(client.list_examples(dataset_id=dataset.id, as_of=as_of))
982+
983+
examples = list(client.list_examples(dataset_id=dataset.id, as_of=dataset_version))
989984
if not examples:
990985
raise ValueError(f"Dataset {dataset_name} has no example rows.")
991986
modified_at = [ex.modified_at for ex in examples if ex.modified_at]
992987
# Should always be defined in practice when fetched,
993988
# but the typing permits None
994989
max_modified_at = max(modified_at) if modified_at else None
995-
dataset_version = max_modified_at.isoformat() if max_modified_at else None
990+
inferred_version = max_modified_at.isoformat() if max_modified_at else None
996991

997992
try:
998993
project_metadata = project_metadata or {}
@@ -1003,7 +998,7 @@ def _prepare_eval_run(
1003998
"git": git_info,
1004999
}
10051000

1006-
project_metadata["dataset_version"] = dataset_version
1001+
project_metadata["dataset_version"] = inferred_version
10071002
project = client.create_project(
10081003
project_name,
10091004
reference_dataset_id=dataset.id,

libs/langchain/poetry.lock

Lines changed: 4 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

libs/langchain/pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ python = ">=3.8.1,<4.0"
1515
langchain-core = ">=0.1.28,<0.2"
1616
langchain-text-splitters = ">=0.0.1,<0.1"
1717
langchain-community = ">=0.0.25,<0.1"
18-
langsmith = "^0.1.14"
18+
langsmith = "^0.1.17"
1919
pydantic = ">=1,<3"
2020
SQLAlchemy = ">=1.4,<3"
2121
requests = "^2"

0 commit comments

Comments
 (0)