Home / Function/ build_extra() — langchain Function Reference

build_extra() — langchain Function Reference

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

Entity Profile

Dependency Diagram

graph TD
  1f5c3f4f_992b_dd18_d53c_45ffd670acb6["build_extra()"]
  2f237d29_e276_c4ef_3a56_7139ce49b50e["OpenAIEmbeddings"]
  1f5c3f4f_992b_dd18_d53c_45ffd670acb6 -->|defined in| 2f237d29_e276_c4ef_3a56_7139ce49b50e
  style 1f5c3f4f_992b_dd18_d53c_45ffd670acb6 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

libs/partners/openai/langchain_openai/embeddings/base.py lines 304–329

    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:
                msg = f"Found {field_name} supplied twice."
                raise ValueError(msg)
            if field_name not in all_required_field_names:
                warnings.warn(
                    f"""WARNING! {field_name} is not 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:
            msg = (
                f"Parameters {invalid_model_kwargs} should be specified explicitly. "
                f"Instead they were passed in as part of `model_kwargs` parameter."
            )
            raise ValueError(msg)

        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/openai/langchain_openai/embeddings/base.py.
Where is build_extra() defined?
build_extra() is defined in libs/partners/openai/langchain_openai/embeddings/base.py at line 304.

Analyze Your Own Codebase

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

Try Supermodel Free