_convert_chunk_to_generation_chunk() — langchain Function Reference
Architecture documentation for the _convert_chunk_to_generation_chunk() function in base.py from the langchain codebase.
Entity Profile
Dependency Diagram
graph TD 9dd73ff5_bb27_7bf2_5124_b82e93cd60f6["_convert_chunk_to_generation_chunk()"] 2a683305_667b_3567_cab9_9f77e29d4afa["BaseChatOpenAI"] 9dd73ff5_bb27_7bf2_5124_b82e93cd60f6 -->|defined in| 2a683305_667b_3567_cab9_9f77e29d4afa eee344d5_cb34_d6fa_ca18_010bbd1e6cd0["_stream()"] eee344d5_cb34_d6fa_ca18_010bbd1e6cd0 -->|calls| 9dd73ff5_bb27_7bf2_5124_b82e93cd60f6 47573e6b_689c_1e1b_b035_1aee9c3d3bba["_astream()"] 47573e6b_689c_1e1b_b035_1aee9c3d3bba -->|calls| 9dd73ff5_bb27_7bf2_5124_b82e93cd60f6 81a7400d_9d67_48c6_dcb8_b344f5cba3ee["_create_usage_metadata()"] 9dd73ff5_bb27_7bf2_5124_b82e93cd60f6 -->|calls| 81a7400d_9d67_48c6_dcb8_b344f5cba3ee 125c7e66_41f8_c4be_7430_7f650e0e9678["_convert_delta_to_message_chunk()"] 9dd73ff5_bb27_7bf2_5124_b82e93cd60f6 -->|calls| 125c7e66_41f8_c4be_7430_7f650e0e9678 style 9dd73ff5_bb27_7bf2_5124_b82e93cd60f6 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
libs/partners/openai/langchain_openai/chat_models/base.py lines 1092–1152
def _convert_chunk_to_generation_chunk(
self,
chunk: dict,
default_chunk_class: type,
base_generation_info: dict | None,
) -> ChatGenerationChunk | None:
if chunk.get("type") == "content.delta": # From beta.chat.completions.stream
return None
token_usage = chunk.get("usage")
choices = (
chunk.get("choices", [])
# From beta.chat.completions.stream
or chunk.get("chunk", {}).get("choices", [])
)
usage_metadata: UsageMetadata | None = (
_create_usage_metadata(token_usage, chunk.get("service_tier"))
if token_usage
else None
)
if len(choices) == 0:
# logprobs is implicitly None
generation_chunk = ChatGenerationChunk(
message=default_chunk_class(content="", usage_metadata=usage_metadata),
generation_info=base_generation_info,
)
if self.output_version == "v1":
generation_chunk.message.content = []
generation_chunk.message.response_metadata["output_version"] = "v1"
return generation_chunk
choice = choices[0]
if choice["delta"] is None:
return None
message_chunk = _convert_delta_to_message_chunk(
choice["delta"], default_chunk_class
)
generation_info = {**base_generation_info} if base_generation_info else {}
if finish_reason := choice.get("finish_reason"):
generation_info["finish_reason"] = finish_reason
if model_name := chunk.get("model"):
generation_info["model_name"] = model_name
if system_fingerprint := chunk.get("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")
if logprobs:
generation_info["logprobs"] = logprobs
if usage_metadata and isinstance(message_chunk, AIMessageChunk):
message_chunk.usage_metadata = usage_metadata
message_chunk.response_metadata["model_provider"] = "openai"
return ChatGenerationChunk(
message=message_chunk, generation_info=generation_info or None
)
Domain
Subdomains
Called By
Source
Frequently Asked Questions
What does _convert_chunk_to_generation_chunk() do?
_convert_chunk_to_generation_chunk() is a function in the langchain codebase, defined in libs/partners/openai/langchain_openai/chat_models/base.py.
Where is _convert_chunk_to_generation_chunk() defined?
_convert_chunk_to_generation_chunk() is defined in libs/partners/openai/langchain_openai/chat_models/base.py at line 1092.
What does _convert_chunk_to_generation_chunk() call?
_convert_chunk_to_generation_chunk() calls 2 function(s): _convert_delta_to_message_chunk, _create_usage_metadata.
What calls _convert_chunk_to_generation_chunk()?
_convert_chunk_to_generation_chunk() is called by 2 function(s): _astream, _stream.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free