Skip to content

Commit 3fc5df9

Browse files
authored
INTPYTHON-680 Use random seed when testing ChatOpenAI (#171)
1 parent 40d7b4d commit 3fc5df9

File tree

6 files changed

+17
-11
lines changed

6 files changed

+17
-11
lines changed

libs/langchain-mongodb/tests/integration_tests/test_agent_toolkit.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,9 +55,9 @@ def test_toolkit_response(db):
5555
CONNECTION_STRING, database=DB_NAME
5656
)
5757
if "AZURE_OPENAI_ENDPOINT" in os.environ:
58-
llm = AzureChatOpenAI(model="gpt-4o-mini", timeout=60)
58+
llm = AzureChatOpenAI(model="gpt-4o-mini", timeout=60, seed=12345)
5959
else:
60-
llm = ChatOpenAI(model="gpt-4o-mini", timeout=60)
60+
llm = ChatOpenAI(model="gpt-4o-mini", timeout=60, seed=12345)
6161

6262
toolkit = MongoDBDatabaseToolkit(db=db_wrapper, llm=llm)
6363

libs/langchain-mongodb/tests/integration_tests/test_chain_example.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -122,9 +122,9 @@ def test_chain(
122122
prompt = ChatPromptTemplate.from_template(template)
123123

124124
if "AZURE_OPENAI_ENDPOINT" in os.environ:
125-
model: BaseChatOpenAI = AzureChatOpenAI(model="o4-mini")
125+
model: BaseChatOpenAI = AzureChatOpenAI(model="o4-mini", seed=12345)
126126
else:
127-
model = ChatOpenAI()
127+
model = ChatOpenAI(seed=12345)
128128

129129
chain = (
130130
{"context": retriever, "question": RunnablePassthrough()} # type: ignore

libs/langchain-mongodb/tests/integration_tests/test_graphrag.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
from langchain_core.documents import Document
88
from langchain_core.language_models.chat_models import BaseChatModel
99
from langchain_core.messages import AIMessage
10-
from langchain_openai import ChatOpenAI
10+
from langchain_openai import AzureChatOpenAI, ChatOpenAI
1111
from pymongo import MongoClient
1212
from pymongo.collection import Collection
1313
from pymongo.results import BulkWriteResult
@@ -40,7 +40,11 @@ def collection() -> Generator[Collection]:
4040
def entity_extraction_model() -> BaseChatModel | None:
4141
"""LLM for converting documents into Graph of Entities and Relationships"""
4242
try:
43-
return ChatOpenAI(model="gpt-4o", temperature=0.0, cache=False)
43+
if "AZURE_OPENAI_ENDPOINT" in os.environ:
44+
return AzureChatOpenAI(
45+
model="gpt-4o", temperature=0.0, cache=False, seed=12345
46+
)
47+
return ChatOpenAI(model="gpt-4o", temperature=0.0, cache=False, seed=12345)
4448
except Exception:
4549
pass
4650
return None

libs/langchain-mongodb/tests/integration_tests/test_retriever_selfquerying.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -165,8 +165,8 @@ def vectorstore(
165165
def llm() -> BaseChatOpenAI:
166166
"""Model used for interpreting query."""
167167
if "AZURE_OPENAI_ENDPOINT" in os.environ:
168-
return AzureChatOpenAI(model="gpt-4o", temperature=0.0, cache=False)
169-
return ChatOpenAI(model="gpt-4o", temperature=0.0, cache=False)
168+
return AzureChatOpenAI(model="gpt-4o", temperature=0.0, cache=False, seed=12345)
169+
return ChatOpenAI(model="gpt-4o", temperature=0.0, cache=False, seed=1235)
170170

171171

172172
@pytest.fixture

libs/langchain-mongodb/tests/integration_tests/test_retrievers.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
from typing import Generator, List
33

44
import pytest
5+
from flaky import flaky # type:ignore[import-untyped]
56
from langchain_core.documents import Document
67
from langchain_core.embeddings import Embeddings
78
from pymongo import MongoClient
@@ -202,6 +203,7 @@ def test_hybrid_retriever_deprecated_top_k(
202203
assert "New Orleans" in results[0].page_content
203204

204205

206+
@flaky(max_runs=5, min_passes=4)
205207
def test_hybrid_retriever_nested(
206208
indexed_nested_vectorstore: PatchedMongoDBAtlasVectorSearch,
207209
) -> None:

libs/langchain-mongodb/tests/utils.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -47,10 +47,10 @@ def create_database() -> MongoDBDatabase:
4747

4848
def create_llm() -> BaseChatModel:
4949
if os.environ.get("AZURE_OPENAI_ENDPOINT"):
50-
return AzureChatOpenAI(model="o4-mini", timeout=60, cache=False)
50+
return AzureChatOpenAI(model="o4-mini", timeout=60, cache=False, seed=12345)
5151
if os.environ.get("OPENAI_API_KEY"):
52-
return ChatOpenAI(model="gpt-4o-mini", timeout=60, cache=False)
53-
return ChatOllama(model="llama3:8b", cache=False)
52+
return ChatOpenAI(model="gpt-4o-mini", timeout=60, cache=False, seed=12345)
53+
return ChatOllama(model="llama3:8b", cache=False, seed=12345)
5454

5555

5656
class PatchedMongoDBAtlasVectorSearch(MongoDBAtlasVectorSearch):

0 commit comments

Comments
 (0)