test(openai): vcr embedding raw equivalence tests (#38199)

The raw OpenAI embeddings equivalence checks were comparing live
responses from two requests, which made them vulnerable to upstream
numerical drift even when LangChain behavior had not changed. Recording
those interactions keeps the regression coverage while preventing
scheduled integration runs from failing due to backend variance.
This commit is contained in:
Mason Daugherty
2026-06-16 13:01:26 -04:00
committed by GitHub
parent fc956c8680
commit 847312e0aa
4 changed files with 8 additions and 6 deletions

View File

@@ -35,9 +35,10 @@ def test_langchain_openai_embeddings_dimensions() -> None:
assert len(output[0]) == 128
@pytest.mark.vcr
def test_langchain_openai_embeddings_equivalent_to_raw() -> None:
documents = ["disallowed special token '<|endoftext|>'"]
embedding = OpenAIEmbeddings()
embedding = OpenAIEmbeddings(check_embedding_ctx_length=False)
lc_output = embedding.embed_documents(documents)[0]
direct_output = (
@@ -49,9 +50,10 @@ def test_langchain_openai_embeddings_equivalent_to_raw() -> None:
assert np.allclose(lc_output, direct_output, atol=0.001)
@pytest.mark.vcr
async def test_langchain_openai_embeddings_equivalent_to_raw_async() -> None:
documents = ["disallowed special token '<|endoftext|>'"]
embedding = OpenAIEmbeddings()
embedding = OpenAIEmbeddings(check_embedding_ctx_length=False)
lc_output = (await embedding.aembed_documents(documents))[0]
client = openai.AsyncOpenAI()

View File

@@ -682,7 +682,7 @@ dependencies = [
[package.metadata]
requires-dist = [
{ name = "jsonpatch", specifier = ">=1.33.0,<2.0.0" },
{ name = "langchain-protocol", specifier = ">=0.0.14" },
{ name = "langchain-protocol", specifier = ">=0.0.17" },
{ name = "langsmith", specifier = ">=0.3.45,<1.0.0" },
{ name = "packaging", specifier = ">=23.2.0" },
{ name = "pydantic", specifier = ">=2.7.4,<3.0.0" },
@@ -807,14 +807,14 @@ typing = [
[[package]]
name = "langchain-protocol"
version = "0.0.16"
version = "0.0.17"
source = { registry = "https://pypi.org/simple" }
dependencies = [
{ name = "typing-extensions" },
]
sdist = { url = "https://files.pythonhosted.org/packages/36/e7/8300ba22d968653051fd06e3117d783872dddf3dcebdd6b1d386836eb43c/langchain_protocol-0.0.16.tar.gz", hash = "sha256:806c7cdd951b1c4f692fa40fce60821ff0f221d4360e27673ddf2c2b99c2b7ff", size = 5969, upload-time = "2026-05-28T23:05:11.121Z" }
sdist = { url = "https://files.pythonhosted.org/packages/44/b3/4e2429876c7a35585618caa2b9f9089f7162a6b50562b614ad82ac11c17e/langchain_protocol-0.0.17.tar.gz", hash = "sha256:e7cbe58c205df4b4fd87dc6d5bb23f10e13b236d0e2e1b0b9d05bc2b648f3eea", size = 6026, upload-time = "2026-06-12T18:39:51.923Z" }
wheels = [
{ url = "https://files.pythonhosted.org/packages/1f/9c/06dfcc88d02a6364e8d864c421ddd3736305cb0a6c853f75c302c80fe17c/langchain_protocol-0.0.16-py3-none-any.whl", hash = "sha256:3658c142c5d0fb3a023a4be442ce4c15c6d626aab6135eb79a76dc64ad19c3c3", size = 7037, upload-time = "2026-05-28T23:05:10.163Z" },
{ url = "https://files.pythonhosted.org/packages/13/0a/a1bfe72c6ec856e99773bbd96c8086421e554b3693d0142b9ea009c6ac92/langchain_protocol-0.0.17-py3-none-any.whl", hash = "sha256:982a08fe152586ed10d4ff3d538c2e0b5766e5f307cdea325e10be3f2c17cae6", size = 7096, upload-time = "2026-06-12T18:39:50.973Z" },
]
[[package]]