mirror of
https://github.com/hwchase17/langchain.git
synced 2026-06-09 10:17:00 +00:00
feat: The response.incomplete event is not handled when using stream_mode=['messages'] (#33871)
This commit is contained in:
Binary file not shown.
@@ -58,6 +58,26 @@ def _check_response(response: BaseMessage | None) -> None:
|
||||
assert response.response_metadata["service_tier"] # type: ignore[typeddict-item]
|
||||
|
||||
|
||||
@pytest.mark.vcr
|
||||
def test_incomplete_response() -> None:
|
||||
model = ChatOpenAI(
|
||||
model=MODEL_NAME, use_responses_api=True, max_completion_tokens=16
|
||||
)
|
||||
response = model.invoke("Tell me a 100 word story about a bear.")
|
||||
assert response.response_metadata["incomplete_details"]
|
||||
assert response.response_metadata["incomplete_details"]["reason"]
|
||||
assert response.response_metadata["status"] == "incomplete"
|
||||
|
||||
full: AIMessageChunk | None = None
|
||||
for chunk in model.stream("Tell me a 100 word story about a bear."):
|
||||
assert isinstance(chunk, AIMessageChunk)
|
||||
full = chunk if full is None else full + chunk
|
||||
assert isinstance(full, AIMessageChunk)
|
||||
assert full.response_metadata["incomplete_details"]
|
||||
assert full.response_metadata["incomplete_details"]["reason"]
|
||||
assert full.response_metadata["status"] == "incomplete"
|
||||
|
||||
|
||||
@pytest.mark.default_cassette("test_web_search.yaml.gz")
|
||||
@pytest.mark.vcr
|
||||
@pytest.mark.parametrize("output_version", ["responses/v1", "v1"])
|
||||
|
||||
Reference in New Issue
Block a user