Home / File/ image.py — langchain Source File

image.py — langchain Source File

Architecture documentation for image.py, a python file in the langchain codebase. 6 imports, 0 dependents.

Entity Profile

Dependency Diagram

graph LR
  5c37ae95_be41_5e54_aaf5_00f7e4715fbc["image.py"]
  8e2034b7_ceb8_963f_29fc_2ea6b50ef9b3["typing"]
  5c37ae95_be41_5e54_aaf5_00f7e4715fbc --> 8e2034b7_ceb8_963f_29fc_2ea6b50ef9b3
  6e58aaea_f08e_c099_3cc7_f9567bfb1ae7["pydantic"]
  5c37ae95_be41_5e54_aaf5_00f7e4715fbc --> 6e58aaea_f08e_c099_3cc7_f9567bfb1ae7
  5b417886_56dd_6afa_13ab_a3cfc1dbcccd["langchain_core.prompt_values"]
  5c37ae95_be41_5e54_aaf5_00f7e4715fbc --> 5b417886_56dd_6afa_13ab_a3cfc1dbcccd
  8c01ac33_5694_26d8_6f82_8267af524e4e["langchain_core.prompts.base"]
  5c37ae95_be41_5e54_aaf5_00f7e4715fbc --> 8c01ac33_5694_26d8_6f82_8267af524e4e
  e10bb307_3784_1031_cf6b_680e7c362c93["langchain_core.prompts.string"]
  5c37ae95_be41_5e54_aaf5_00f7e4715fbc --> e10bb307_3784_1031_cf6b_680e7c362c93
  2ceb1686_0f8c_8ae0_36d1_7c0b702fda1c["langchain_core.runnables"]
  5c37ae95_be41_5e54_aaf5_00f7e4715fbc --> 2ceb1686_0f8c_8ae0_36d1_7c0b702fda1c
  style 5c37ae95_be41_5e54_aaf5_00f7e4715fbc fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

"""Image prompt template for a multimodal model."""

from typing import Any, Literal, cast

from pydantic import Field

from langchain_core.prompt_values import ImagePromptValue, ImageURL, PromptValue
from langchain_core.prompts.base import BasePromptTemplate
from langchain_core.prompts.string import (
    DEFAULT_FORMATTER_MAPPING,
    PromptTemplateFormat,
)
from langchain_core.runnables import run_in_executor


class ImagePromptTemplate(BasePromptTemplate[ImageURL]):
    """Image prompt template for a multimodal model."""

    template: dict = Field(default_factory=dict)
    """Template for the prompt."""

    template_format: PromptTemplateFormat = "f-string"
    """The format of the prompt template.

    Options are: `'f-string'`, `'mustache'`, `'jinja2'`.
    """

    def __init__(self, **kwargs: Any) -> None:
        """Create an image prompt template.

        Raises:
            ValueError: If the input variables contain `'url'`, `'path'`, or
                `'detail'`.
        """
        if "input_variables" not in kwargs:
            kwargs["input_variables"] = []

        overlap = set(kwargs["input_variables"]) & {"url", "path", "detail"}
        if overlap:
            msg = (
                "input_variables for the image template cannot contain"
                " any of 'url', 'path', or 'detail'."
                f" Found: {overlap}"
            )
            raise ValueError(msg)
        super().__init__(**kwargs)

    @property
    def _prompt_type(self) -> str:
        """Return the prompt type key."""
        return "image-prompt"

    @classmethod
    def get_lc_namespace(cls) -> list[str]:
        """Get the namespace of the LangChain object.

        Returns:
            `["langchain", "prompts", "image"]`
        """
        return ["langchain", "prompts", "image"]
// ... (98 more lines)

Subdomains

Dependencies

  • langchain_core.prompt_values
  • langchain_core.prompts.base
  • langchain_core.prompts.string
  • langchain_core.runnables
  • pydantic
  • typing

Frequently Asked Questions

What does image.py do?
image.py is a source file in the langchain codebase, written in python. It belongs to the PromptManagement domain, ExampleSelection subdomain.
What does image.py depend on?
image.py imports 6 module(s): langchain_core.prompt_values, langchain_core.prompts.base, langchain_core.prompts.string, langchain_core.runnables, pydantic, typing.
Where is image.py in the architecture?
image.py is located at libs/core/langchain_core/prompts/image.py (domain: PromptManagement, subdomain: ExampleSelection, directory: libs/core/langchain_core/prompts).

Analyze Your Own Codebase

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

Try Supermodel Free