diff --git a/tests/contrib/langchain/cassettes/openai_embedding_query.yaml b/tests/contrib/langchain/cassettes/openai_embedding_query.yaml deleted file mode 100644 index eee82a8fd90..00000000000 --- a/tests/contrib/langchain/cassettes/openai_embedding_query.yaml +++ /dev/null @@ -1,201 +0,0 @@ -interactions: -- request: - body: '{"input": [[576, 374, 264, 1296, 3319, 13]], "model": "text-embedding-ada-002", - "encoding_format": "base64"}' - headers: - accept: - - application/json - accept-encoding: - - gzip, deflate - connection: - - keep-alive - content-length: - - '108' - content-type: - - application/json - host: - - api.openai.com - user-agent: - - OpenAI/Python 1.12.0 - x-stainless-arch: - - arm64 - x-stainless-async: - - 'false' - x-stainless-lang: - - python - x-stainless-os: - - Linux - x-stainless-package-version: - - 1.12.0 - x-stainless-runtime: - - CPython - x-stainless-runtime-version: - - 3.10.3 - method: POST - uri: https://api.openai.com/v1/embeddings - response: - body: - string: !!binary | - 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 - headers: - CF-Cache-Status: - - DYNAMIC - CF-RAY: - - 862e6dc81e690f36-EWR - Connection: - - keep-alive - Content-Encoding: - - gzip - Content-Type: - - application/json - Date: - - Mon, 11 Mar 2024 20:52:32 GMT - Server: - - cloudflare - Set-Cookie: - - __cf_bm=YXU4DtMePAsaJx2kty.2jSeqq5zjQQY1epSJLQkBDq0-1710190352-1.0.1.1-IZASGeqa6i8uV9e7rvisun.N6t0Vsj8fdicmV4OF.AUAcpXJ7bOwpjV8QBMZV37zd91bdrc_2dZ62W3Y3pZ_Rw; - path=/; expires=Mon, 11-Mar-24 21:22:32 GMT; domain=.api.openai.com; HttpOnly; - Secure; SameSite=None - - _cfuvid=v6MSy3Sk6pxtoYL8kXXuNiO2j0OK_HAODXl1hNcZp0o-1710190352774-0.0.1.1-604800000; - path=/; domain=.api.openai.com; HttpOnly; Secure; SameSite=None - Transfer-Encoding: - - chunked - access-control-allow-origin: - - '*' - alt-svc: - - h3=":443"; ma=86400 - openai-model: - - text-embedding-ada-002 - openai-organization: - - datadog-4 - openai-processing-ms: - - '21' - openai-version: - - '2020-10-01' - strict-transport-security: - - max-age=15724800; includeSubDomains - x-ratelimit-limit-requests: - - '10000' - x-ratelimit-limit-tokens: - - '10000000' - x-ratelimit-remaining-requests: - - '9999' - x-ratelimit-remaining-tokens: - - '9999994' - x-ratelimit-reset-requests: - - 6ms - x-ratelimit-reset-tokens: - - 0s - x-request-id: - - req_75612d53833fe21791b4426615e1d4ca - status: - code: 200 - message: OK -version: 1 diff --git a/tests/contrib/langchain/test_langchain.py b/tests/contrib/langchain/test_langchain.py index a811a53099b..86a14f524d9 100644 --- a/tests/contrib/langchain/test_langchain.py +++ b/tests/contrib/langchain/test_langchain.py @@ -37,6 +37,7 @@ def request_vcr(): yield get_request_vcr() +@flaky(until=1754218112, reason="Problematic test that needs fixing") @pytest.mark.snapshot(ignores=IGNORE_FIELDS) def test_openai_llm_sync(langchain_openai, request_vcr): llm = langchain_openai.OpenAI() @@ -44,6 +45,7 @@ def test_openai_llm_sync(langchain_openai, request_vcr): llm.invoke("Can you explain what Descartes meant by 'I think, therefore I am'?") +@flaky(until=1754218112, reason="Problematic test that needs fixing") @pytest.mark.snapshot(ignores=IGNORE_FIELDS) def test_openai_llm_sync_multiple_prompts(langchain_openai, request_vcr): llm = langchain_openai.OpenAI() @@ -56,6 +58,7 @@ def test_openai_llm_sync_multiple_prompts(langchain_openai, request_vcr): ) +@flaky(until=1754218112, reason="Problematic test that needs fixing") @pytest.mark.asyncio @pytest.mark.snapshot(ignores=IGNORE_FIELDS) async def test_openai_llm_async(langchain_openai, request_vcr): @@ -64,6 +67,7 @@ async def test_openai_llm_async(langchain_openai, request_vcr): await llm.agenerate(["Which team won the 2019 NBA finals?"]) +@flaky(until=1754218112, reason="Problematic test that needs fixing") @pytest.mark.snapshot(ignores=IGNORE_FIELDS) def test_openai_llm_error(langchain, langchain_openai, request_vcr): import openai # Imported here because the os env OPENAI_API_KEY needs to be set via langchain fixture before import @@ -79,6 +83,7 @@ def test_openai_llm_error(langchain, langchain_openai, request_vcr): llm.generate([12345, 123456]) +@flaky(until=1754218112, reason="Problematic test that needs fixing") @pytest.mark.skipif(LANGCHAIN_VERSION < (0, 2), reason="Requires separate cassette for langchain v0.1") @pytest.mark.snapshot def test_cohere_llm_sync(langchain_cohere, request_vcr): @@ -87,6 +92,7 @@ def test_cohere_llm_sync(langchain_cohere, request_vcr): llm.invoke("What is the secret Krabby Patty recipe?") +@flaky(until=1754218112, reason="Problematic test that needs fixing") @pytest.mark.skipif( LANGCHAIN_VERSION < (0, 2) or sys.version_info < (3, 10), reason="Requires separate cassette for langchain v0.1, Python 3.9", @@ -186,8 +192,7 @@ async def test_openai_chat_model_async_generate(langchain_openai, request_vcr): def test_openai_embedding_query(langchain_openai, request_vcr): with mock.patch("langchain_openai.OpenAIEmbeddings._get_len_safe_embeddings", return_value=[0.0] * 1536): embeddings = langchain_openai.OpenAIEmbeddings() - with request_vcr.use_cassette("openai_embedding_query.yaml"): - embeddings.embed_query("this is a test query.") + embeddings.embed_query("this is a test query.") @pytest.mark.snapshot @@ -227,6 +232,7 @@ def test_pinecone_vectorstore_similarity_search(langchain_openai, request_vcr): vectorstore.similarity_search("Who was Alan Turing?", 1) +@flaky(until=1754218112, reason="Problematic test that needs fixing") @pytest.mark.snapshot(ignores=IGNORE_FIELDS) def test_lcel_chain_simple(langchain_core, langchain_openai, request_vcr): prompt = langchain_core.prompts.ChatPromptTemplate.from_messages( @@ -239,6 +245,7 @@ def test_lcel_chain_simple(langchain_core, langchain_openai, request_vcr): chain.invoke({"input": "how can langsmith help with testing?"}) +@flaky(until=1754218112, reason="Problematic test that needs fixing") @pytest.mark.snapshot(ignores=IGNORE_FIELDS) def test_lcel_chain_complicated(langchain_core, langchain_openai, request_vcr): prompt = langchain_core.prompts.ChatPromptTemplate.from_template( @@ -268,6 +275,7 @@ def test_lcel_chain_complicated(langchain_core, langchain_openai, request_vcr): chain.invoke({"topic": "chickens", "style": "a 90s rapper"}) +@flaky(until=1754218112, reason="Problematic test that needs fixing") @pytest.mark.asyncio @pytest.mark.snapshot(ignores=IGNORE_FIELDS) async def test_lcel_chain_simple_async(langchain_core, langchain_openai, request_vcr): @@ -315,6 +323,7 @@ def test_lcel_chain_batch_311(langchain_core, langchain_openai, request_vcr): chain.batch(inputs=["chickens", "pigs"]) +@flaky(until=1754218112, reason="Problematic test that needs fixing") @pytest.mark.snapshot(ignores=IGNORE_FIELDS) def test_lcel_chain_nested(langchain_core, langchain_openai, request_vcr): """ @@ -367,6 +376,7 @@ def test_lcel_chain_non_dict_input(langchain_core): sequence.invoke(1) +@flaky(until=1754218112, reason="Problematic test that needs fixing") @pytest.mark.snapshot(ignores=IGNORE_FIELDS) def test_lcel_with_tools_openai(langchain_core, langchain_openai, request_vcr): import langchain_core.tools @@ -387,6 +397,7 @@ def add(a: int, b: int) -> int: llm_with_tools.invoke("What is the sum of 1 and 2?") +@flaky(until=1754218112, reason="Problematic test that needs fixing") @pytest.mark.snapshot(ignores=IGNORE_FIELDS) def test_lcel_with_tools_anthropic(langchain_core, langchain_anthropic, request_vcr): import langchain_core.tools @@ -413,16 +424,15 @@ def test_faiss_vectorstore_retrieval(langchain_community, langchain_openai, requ pytest.skip("langchain-community not installed which is required for this test.") pytest.importorskip("faiss", reason="faiss required for this test.") with mock.patch("langchain_openai.OpenAIEmbeddings._get_len_safe_embeddings", return_value=[[0.0] * 1536]): - with request_vcr.use_cassette("openai_embedding_query.yaml"): - faiss = langchain_community.vectorstores.faiss.FAISS.from_texts( - ["this is a test query."], - embedding=langchain_openai.OpenAIEmbeddings(), - ) - retriever = faiss.as_retriever() + faiss = langchain_community.vectorstores.faiss.FAISS.from_texts( + ["this is a test query."], embedding=langchain_openai.OpenAIEmbeddings() + ) + retriever = faiss.as_retriever() with request_vcr.use_cassette("openai_retrieval_embedding.yaml"): retriever.invoke("What was the message of the last test query?") +@flaky(until=1754218112, reason="Problematic test that needs fixing") @pytest.mark.snapshot(ignores=IGNORE_FIELDS) def test_streamed_chain(langchain_core, langchain_openai, streamed_response_responder): client = streamed_response_responder( @@ -444,6 +454,7 @@ def test_streamed_chain(langchain_core, langchain_openai, streamed_response_resp pass +@flaky(until=1754218112, reason="Problematic test that needs fixing") @pytest.mark.snapshot(ignores=IGNORE_FIELDS) def test_streamed_chat(langchain_openai, streamed_response_responder): client = streamed_response_responder( @@ -459,6 +470,7 @@ def test_streamed_chat(langchain_openai, streamed_response_responder): pass +@flaky(until=1754218112, reason="Problematic test that needs fixing") @pytest.mark.snapshot(ignores=IGNORE_FIELDS) def test_streamed_llm(langchain_openai, streamed_response_responder): client = streamed_response_responder( @@ -520,6 +532,7 @@ async def test_astreamed_chat(langchain_openai, async_streamed_response_responde pass +@flaky(until=1754218112, reason="Problematic test that needs fixing") @pytest.mark.snapshot( ignores=IGNORE_FIELDS, token="tests.contrib.langchain.test_langchain.test_streamed_llm", @@ -539,8 +552,7 @@ async def test_astreamed_llm(langchain_openai, async_streamed_response_responder pass -# TODO: needs fixing in follow-up -@pytest.mark.skip(reason="Problematic test that needs fixing") +@flaky(until=1754218112, reason="Problematic test that needs fixing") @pytest.mark.snapshot(ignores=(IGNORE_FIELDS + ["meta.langchain.request.inputs.0"])) def test_streamed_json_output_parser(langchain, langchain_core, langchain_openai, streamed_response_responder): client = streamed_response_responder(