Home / Function/ build_extra() — langchain Function Reference

build_extra() — langchain Function Reference

Architecture documentation for the build_extra() function in chat_models.py from the langchain codebase.

Entity Profile

Dependency Diagram

graph TD
  7dbdf104_f228_c418_a2b8_c15e8c5405ee["build_extra()"]
  36b59643_acfc_fb1d_752e_ae7ec32a79a4["ChatPerplexity"]
  7dbdf104_f228_c418_a2b8_c15e8c5405ee -->|defined in| 36b59643_acfc_fb1d_752e_ae7ec32a79a4
  style 7dbdf104_f228_c418_a2b8_c15e8c5405ee fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

libs/partners/perplexity/langchain_perplexity/chat_models.py lines 268–291

    def build_extra(cls, values: dict[str, Any]) -> Any:
        """Build extra kwargs from additional params that were passed in."""
        all_required_field_names = get_pydantic_field_names(cls)
        extra = values.get("model_kwargs", {})
        for field_name in list(values):
            if field_name in extra:
                raise ValueError(f"Found {field_name} supplied twice.")
            if field_name not in all_required_field_names:
                logger.warning(
                    f"""WARNING! {field_name} is not a default parameter.
                    {field_name} was transferred to model_kwargs.
                    Please confirm that {field_name} is what you intended."""
                )
                extra[field_name] = values.pop(field_name)

        invalid_model_kwargs = all_required_field_names.intersection(extra.keys())
        if invalid_model_kwargs:
            raise ValueError(
                f"Parameters {invalid_model_kwargs} should be specified explicitly. "
                f"Instead they were passed in as part of `model_kwargs` parameter."
            )

        values["model_kwargs"] = extra
        return values

Domain

Subdomains

Frequently Asked Questions

What does build_extra() do?
build_extra() is a function in the langchain codebase, defined in libs/partners/perplexity/langchain_perplexity/chat_models.py.
Where is build_extra() defined?
build_extra() is defined in libs/partners/perplexity/langchain_perplexity/chat_models.py at line 268.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free