standard-tests: add benchmarks (#31302)

Co-authored-by: Sydney Runkle <sydneymarierunkle@gmail.com>
This commit is contained in:
ccurme
2025-05-29 11:21:37 -04:00
committed by GitHub
parent 6d39e59c2e
commit 49eeb0f3c3
32 changed files with 5470 additions and 220 deletions

View File

@@ -0,0 +1 @@
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

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,48 @@
from typing import Any
import pytest
from langchain_tests.conftest import YamlGzipSerializer
from langchain_tests.conftest import _base_vcr_config as _base_vcr_config
from vcr import VCR # type: ignore[import-untyped]
_EXTRA_HEADERS = [
("openai-organization", "PLACEHOLDER"),
("user-agent", "PLACEHOLDER"),
("x-openai-client-user-agent", "PLACEHOLDER"),
]
def remove_request_headers(request: Any) -> Any:
for k in request.headers:
request.headers[k] = "**REDACTED**"
request.uri = "**REDACTED**"
return request
def remove_response_headers(response: dict) -> dict:
for k in response["headers"]:
response["headers"][k] = "**REDACTED**"
return response
@pytest.fixture(scope="session")
def vcr_config(_base_vcr_config: dict) -> dict: # noqa: F811
"""
Extend the default configuration coming from langchain_tests.
"""
config = _base_vcr_config.copy()
config.setdefault("filter_headers", []).extend(_EXTRA_HEADERS)
config["before_record_request"] = remove_request_headers
config["before_record_response"] = remove_response_headers
config["serializer"] = "yaml.gz"
config["path_transformer"] = VCR.ensure_suffix(".yaml.gz")
return config
@pytest.fixture
def vcr(vcr_config: dict) -> VCR:
"""Override the default vcr fixture to include custom serializers"""
my_vcr = VCR(**vcr_config)
my_vcr.register_serializer("yaml.gz", YamlGzipSerializer)
return my_vcr

View File

@@ -38,6 +38,10 @@ class TestAzureOpenAIStandard(ChatModelIntegrationTests):
def supports_json_mode(self) -> bool:
return True
@property
def enable_vcr_tests(self) -> bool:
return True
class TestAzureOpenAIStandardLegacy(ChatModelIntegrationTests):
"""Test a legacy model."""
@@ -58,3 +62,7 @@ class TestAzureOpenAIStandardLegacy(ChatModelIntegrationTests):
@property
def structured_output_kwargs(self) -> dict:
return {"method": "function_calling"}
@property
def enable_vcr_tests(self) -> bool:
return True

View File

@@ -57,6 +57,10 @@ class TestOpenAIStandard(ChatModelIntegrationTests):
]:
return {"invoke": ["reasoning_output", "cache_read_input"], "stream": []}
@property
def enable_vcr_tests(self) -> bool:
return True
def invoke_with_cache_read_input(self, *, stream: bool = False) -> AIMessage:
with open(REPO_ROOT_DIR / "README.md") as f:
readme = f.read()