mirror of
https://github.com/hwchase17/langchain.git
synced 2025-08-15 07:36:08 +00:00
[Evals] Support list examples by dataset version tag (#18534)
previously only supported by timestamp
This commit is contained in:
parent
72ae744588
commit
30ccc009e6
@ -979,20 +979,15 @@ def _prepare_eval_run(
|
|||||||
) -> Tuple[MCF, TracerSession, Dataset, List[Example]]:
|
) -> Tuple[MCF, TracerSession, Dataset, List[Example]]:
|
||||||
wrapped_model = _wrap_in_chain_factory(llm_or_chain_factory, dataset_name)
|
wrapped_model = _wrap_in_chain_factory(llm_or_chain_factory, dataset_name)
|
||||||
dataset = client.read_dataset(dataset_name=dataset_name)
|
dataset = client.read_dataset(dataset_name=dataset_name)
|
||||||
as_of = dataset_version if isinstance(dataset_version, datetime) else None
|
|
||||||
if isinstance(dataset_version, str):
|
examples = list(client.list_examples(dataset_id=dataset.id, as_of=dataset_version))
|
||||||
raise NotImplementedError(
|
|
||||||
"Selecting dataset_version by tag is not yet supported."
|
|
||||||
" Please use a datetime object."
|
|
||||||
)
|
|
||||||
examples = list(client.list_examples(dataset_id=dataset.id, as_of=as_of))
|
|
||||||
if not examples:
|
if not examples:
|
||||||
raise ValueError(f"Dataset {dataset_name} has no example rows.")
|
raise ValueError(f"Dataset {dataset_name} has no example rows.")
|
||||||
modified_at = [ex.modified_at for ex in examples if ex.modified_at]
|
modified_at = [ex.modified_at for ex in examples if ex.modified_at]
|
||||||
# Should always be defined in practice when fetched,
|
# Should always be defined in practice when fetched,
|
||||||
# but the typing permits None
|
# but the typing permits None
|
||||||
max_modified_at = max(modified_at) if modified_at else None
|
max_modified_at = max(modified_at) if modified_at else None
|
||||||
dataset_version = max_modified_at.isoformat() if max_modified_at else None
|
inferred_version = max_modified_at.isoformat() if max_modified_at else None
|
||||||
|
|
||||||
try:
|
try:
|
||||||
project_metadata = project_metadata or {}
|
project_metadata = project_metadata or {}
|
||||||
@ -1003,7 +998,7 @@ def _prepare_eval_run(
|
|||||||
"git": git_info,
|
"git": git_info,
|
||||||
}
|
}
|
||||||
|
|
||||||
project_metadata["dataset_version"] = dataset_version
|
project_metadata["dataset_version"] = inferred_version
|
||||||
project = client.create_project(
|
project = client.create_project(
|
||||||
project_name,
|
project_name,
|
||||||
reference_dataset_id=dataset.id,
|
reference_dataset_id=dataset.id,
|
||||||
|
8
libs/langchain/poetry.lock
generated
8
libs/langchain/poetry.lock
generated
@ -3525,13 +3525,13 @@ url = "../text-splitters"
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "langsmith"
|
name = "langsmith"
|
||||||
version = "0.1.14"
|
version = "0.1.17"
|
||||||
description = "Client library to connect to the LangSmith LLM Tracing and Evaluation Platform."
|
description = "Client library to connect to the LangSmith LLM Tracing and Evaluation Platform."
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.8.1,<4.0"
|
python-versions = ">=3.8.1,<4.0"
|
||||||
files = [
|
files = [
|
||||||
{file = "langsmith-0.1.14-py3-none-any.whl", hash = "sha256:ecb243057d2a43c2da0524fe395585bc3421bb5d24f1cdd53eb06fbe63e43a69"},
|
{file = "langsmith-0.1.17-py3-none-any.whl", hash = "sha256:563e88d8629db23cfd5312b96fd3c6cbf990fdf2abb404d2fba3b76a73f4828f"},
|
||||||
{file = "langsmith-0.1.14.tar.gz", hash = "sha256:b95f267d25681f4c9862bb68236fba8a57a60ec7921ecfdaa125936807e51bde"},
|
{file = "langsmith-0.1.17.tar.gz", hash = "sha256:1a4aed855a97aae01276c832c6857b3902d910065abdb0de36ae2ad520edd92a"},
|
||||||
]
|
]
|
||||||
|
|
||||||
[package.dependencies]
|
[package.dependencies]
|
||||||
@ -9132,4 +9132,4 @@ text-helpers = ["chardet"]
|
|||||||
[metadata]
|
[metadata]
|
||||||
lock-version = "2.0"
|
lock-version = "2.0"
|
||||||
python-versions = ">=3.8.1,<4.0"
|
python-versions = ">=3.8.1,<4.0"
|
||||||
content-hash = "095a661dc5f767d2a3c92541d66c2d3070e86fb455b98f313e6c9a40b699b4ef"
|
content-hash = "2b679b5f0fd928dce161ca83d167111ad896cbd405931558e9e3dcb83353d8ff"
|
||||||
|
@ -15,7 +15,7 @@ python = ">=3.8.1,<4.0"
|
|||||||
langchain-core = ">=0.1.28,<0.2"
|
langchain-core = ">=0.1.28,<0.2"
|
||||||
langchain-text-splitters = ">=0.0.1,<0.1"
|
langchain-text-splitters = ">=0.0.1,<0.1"
|
||||||
langchain-community = ">=0.0.25,<0.1"
|
langchain-community = ">=0.0.25,<0.1"
|
||||||
langsmith = "^0.1.14"
|
langsmith = "^0.1.17"
|
||||||
pydantic = ">=1,<3"
|
pydantic = ">=1,<3"
|
||||||
SQLAlchemy = ">=1.4,<3"
|
SQLAlchemy = ">=1.4,<3"
|
||||||
requests = "^2"
|
requests = "^2"
|
||||||
|
Loading…
Reference in New Issue
Block a user