serialize_outputs() — langchain Function Reference
Architecture documentation for the serialize_outputs() function in string_run_evaluator.py from the langchain codebase.
Entity Profile
Dependency Diagram
graph TD df0ac8ee_9864_89bc_2b10_585085211119["serialize_outputs()"] 8b074a3f_8729_0bb7_fe7d_db473df331ce["LLMStringRunMapper"] df0ac8ee_9864_89bc_2b10_585085211119 -->|defined in| 8b074a3f_8729_0bb7_fe7d_db473df331ce eeef200b_d96b_43d0_3074_30604390fe0c["map()"] eeef200b_d96b_43d0_3074_30604390fe0c -->|calls| df0ac8ee_9864_89bc_2b10_585085211119 c36025c6_da32_fa12_5c71_e60ffc858574["serialize_chat_messages()"] df0ac8ee_9864_89bc_2b10_585085211119 -->|calls| c36025c6_da32_fa12_5c71_e60ffc858574 style df0ac8ee_9864_89bc_2b10_585085211119 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
libs/langchain/langchain_classic/smith/evaluation/string_run_evaluator.py lines 101–130
def serialize_outputs(self, outputs: dict) -> str:
"""Serialize outputs.
Args:
outputs: The outputs from the run, expected to contain generations.
Returns:
The serialized output text from the first generation.
Raises:
ValueError: If no generations are found in the outputs or if the generations
are empty.
"""
if not outputs.get("generations"):
msg = "Cannot evaluate LLM Run without generations."
raise ValueError(msg)
generations: list[dict] | list[list[dict]] = outputs["generations"]
if not generations:
msg = "Cannot evaluate LLM run with empty generations."
raise ValueError(msg)
first_generation: dict | list[dict] = generations[0]
if isinstance(first_generation, list):
# Runs from Tracer have generations as a list of lists of dicts
# Whereas Runs from the API have a list of dicts
first_generation = first_generation[0]
if "message" in first_generation:
output_ = self.serialize_chat_messages([first_generation["message"]])
else:
output_ = first_generation["text"]
return output_
Domain
Subdomains
Called By
Source
Frequently Asked Questions
What does serialize_outputs() do?
serialize_outputs() is a function in the langchain codebase, defined in libs/langchain/langchain_classic/smith/evaluation/string_run_evaluator.py.
Where is serialize_outputs() defined?
serialize_outputs() is defined in libs/langchain/langchain_classic/smith/evaluation/string_run_evaluator.py at line 101.
What does serialize_outputs() call?
serialize_outputs() calls 1 function(s): serialize_chat_messages.
What calls serialize_outputs()?
serialize_outputs() is called by 1 function(s): map.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free