mirror of
https://github.com/hwchase17/langchain.git
synced 2025-06-23 15:19:33 +00:00
openai[patch]: propagate service_tier to response metadata (#31089)
This commit is contained in:
parent
6110c3ffc5
commit
c51eadd54f
@ -736,6 +736,8 @@ class BaseChatOpenAI(BaseChatModel):
|
|||||||
generation_info["model_name"] = model_name
|
generation_info["model_name"] = model_name
|
||||||
if system_fingerprint := chunk.get("system_fingerprint"):
|
if system_fingerprint := chunk.get("system_fingerprint"):
|
||||||
generation_info["system_fingerprint"] = system_fingerprint
|
generation_info["system_fingerprint"] = system_fingerprint
|
||||||
|
if service_tier := chunk.get("service_tier"):
|
||||||
|
generation_info["service_tier"] = service_tier
|
||||||
|
|
||||||
logprobs = choice.get("logprobs")
|
logprobs = choice.get("logprobs")
|
||||||
if logprobs:
|
if logprobs:
|
||||||
@ -1020,6 +1022,8 @@ class BaseChatOpenAI(BaseChatModel):
|
|||||||
}
|
}
|
||||||
if "id" in response_dict:
|
if "id" in response_dict:
|
||||||
llm_output["id"] = response_dict["id"]
|
llm_output["id"] = response_dict["id"]
|
||||||
|
if "service_tier" in response_dict:
|
||||||
|
llm_output["service_tier"] = response_dict["service_tier"]
|
||||||
|
|
||||||
if isinstance(response, openai.BaseModel) and getattr(
|
if isinstance(response, openai.BaseModel) and getattr(
|
||||||
response, "choices", None
|
response, "choices", None
|
||||||
@ -3243,6 +3247,7 @@ def _construct_lc_result_from_responses_api(
|
|||||||
"status",
|
"status",
|
||||||
"user",
|
"user",
|
||||||
"model",
|
"model",
|
||||||
|
"service_tier",
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
if metadata:
|
if metadata:
|
||||||
|
@ -350,6 +350,7 @@ def test_response_metadata() -> None:
|
|||||||
"logprobs",
|
"logprobs",
|
||||||
"system_fingerprint",
|
"system_fingerprint",
|
||||||
"finish_reason",
|
"finish_reason",
|
||||||
|
"service_tier",
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
assert "content" in result.response_metadata["logprobs"]
|
assert "content" in result.response_metadata["logprobs"]
|
||||||
@ -367,6 +368,7 @@ async def test_async_response_metadata() -> None:
|
|||||||
"logprobs",
|
"logprobs",
|
||||||
"system_fingerprint",
|
"system_fingerprint",
|
||||||
"finish_reason",
|
"finish_reason",
|
||||||
|
"service_tier",
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
assert "content" in result.response_metadata["logprobs"]
|
assert "content" in result.response_metadata["logprobs"]
|
||||||
@ -380,7 +382,7 @@ def test_response_metadata_streaming() -> None:
|
|||||||
full = chunk if full is None else full + chunk
|
full = chunk if full is None else full + chunk
|
||||||
assert all(
|
assert all(
|
||||||
k in cast(BaseMessageChunk, full).response_metadata
|
k in cast(BaseMessageChunk, full).response_metadata
|
||||||
for k in ("logprobs", "finish_reason")
|
for k in ("logprobs", "finish_reason", "service_tier")
|
||||||
)
|
)
|
||||||
assert "content" in cast(BaseMessageChunk, full).response_metadata["logprobs"]
|
assert "content" in cast(BaseMessageChunk, full).response_metadata["logprobs"]
|
||||||
|
|
||||||
@ -393,7 +395,7 @@ async def test_async_response_metadata_streaming() -> None:
|
|||||||
full = chunk if full is None else full + chunk
|
full = chunk if full is None else full + chunk
|
||||||
assert all(
|
assert all(
|
||||||
k in cast(BaseMessageChunk, full).response_metadata
|
k in cast(BaseMessageChunk, full).response_metadata
|
||||||
for k in ("logprobs", "finish_reason")
|
for k in ("logprobs", "finish_reason", "service_tier")
|
||||||
)
|
)
|
||||||
assert "content" in cast(BaseMessageChunk, full).response_metadata["logprobs"]
|
assert "content" in cast(BaseMessageChunk, full).response_metadata["logprobs"]
|
||||||
|
|
||||||
|
@ -47,6 +47,7 @@ def _check_response(response: Optional[BaseMessage]) -> None:
|
|||||||
assert response.usage_metadata["output_tokens"] > 0
|
assert response.usage_metadata["output_tokens"] > 0
|
||||||
assert response.usage_metadata["total_tokens"] > 0
|
assert response.usage_metadata["total_tokens"] > 0
|
||||||
assert response.response_metadata["model_name"]
|
assert response.response_metadata["model_name"]
|
||||||
|
assert response.response_metadata["service_tier"]
|
||||||
for tool_output in response.additional_kwargs["tool_outputs"]:
|
for tool_output in response.additional_kwargs["tool_outputs"]:
|
||||||
assert tool_output["id"]
|
assert tool_output["id"]
|
||||||
assert tool_output["status"]
|
assert tool_output["status"]
|
||||||
|
Loading…
Reference in New Issue
Block a user