Home / Function/ serialize_outputs() — langchain Function Reference

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

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