Home / File/ multi_prompt.py — langchain Source File

multi_prompt.py — langchain Source File

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

Entity Profile

Dependency Diagram

graph LR
  ce8b404c_5daa_1794_ba57_100ced152cb1["multi_prompt.py"]
  8e2034b7_ceb8_963f_29fc_2ea6b50ef9b3["typing"]
  ce8b404c_5daa_1794_ba57_100ced152cb1 --> 8e2034b7_ceb8_963f_29fc_2ea6b50ef9b3
  b19a8b7e_fbee_95b1_65b8_509a1ed3cad7["langchain_core._api"]
  ce8b404c_5daa_1794_ba57_100ced152cb1 --> b19a8b7e_fbee_95b1_65b8_509a1ed3cad7
  ba43b74d_3099_7e1c_aac3_cf594720469e["langchain_core.language_models"]
  ce8b404c_5daa_1794_ba57_100ced152cb1 --> ba43b74d_3099_7e1c_aac3_cf594720469e
  e6b4f61e_7b98_6666_3641_26b069517d4a["langchain_core.prompts"]
  ce8b404c_5daa_1794_ba57_100ced152cb1 --> e6b4f61e_7b98_6666_3641_26b069517d4a
  91721f45_4909_e489_8c1f_084f8bd87145["typing_extensions"]
  ce8b404c_5daa_1794_ba57_100ced152cb1 --> 91721f45_4909_e489_8c1f_084f8bd87145
  9b4ec80f_d8de_a6e0_4f16_67ba56685088["langchain_classic.chains"]
  ce8b404c_5daa_1794_ba57_100ced152cb1 --> 9b4ec80f_d8de_a6e0_4f16_67ba56685088
  01158a5b_b299_f45d_92e9_2a7433a1a91a["langchain_classic.chains.base"]
  ce8b404c_5daa_1794_ba57_100ced152cb1 --> 01158a5b_b299_f45d_92e9_2a7433a1a91a
  31974615_0d58_bd26_13f1_776e0a9d1413["langchain_classic.chains.llm"]
  ce8b404c_5daa_1794_ba57_100ced152cb1 --> 31974615_0d58_bd26_13f1_776e0a9d1413
  2e4e7dd2_a233_b459_0286_08afde64f38f["langchain_classic.chains.router.base"]
  ce8b404c_5daa_1794_ba57_100ced152cb1 --> 2e4e7dd2_a233_b459_0286_08afde64f38f
  fbe02692_e1d4_37c9_3472_40756c9d59c9["langchain_classic.chains.router.llm_router"]
  ce8b404c_5daa_1794_ba57_100ced152cb1 --> fbe02692_e1d4_37c9_3472_40756c9d59c9
  24dc696a_9b98_d0db_5f5d_7de3fb228fc2["langchain_classic.chains.router.multi_prompt_prompt"]
  ce8b404c_5daa_1794_ba57_100ced152cb1 --> 24dc696a_9b98_d0db_5f5d_7de3fb228fc2
  style ce8b404c_5daa_1794_ba57_100ced152cb1 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

"""Use a single chain to route an input to one of multiple llm chains."""

from __future__ import annotations

from typing import Any

from langchain_core._api import deprecated
from langchain_core.language_models import BaseLanguageModel
from langchain_core.prompts import PromptTemplate
from typing_extensions import override

from langchain_classic.chains import ConversationChain
from langchain_classic.chains.base import Chain
from langchain_classic.chains.llm import LLMChain
from langchain_classic.chains.router.base import MultiRouteChain
from langchain_classic.chains.router.llm_router import (
    LLMRouterChain,
    RouterOutputParser,
)
from langchain_classic.chains.router.multi_prompt_prompt import (
    MULTI_PROMPT_ROUTER_TEMPLATE,
)


@deprecated(
    since="0.2.12",
    removal="1.0",
    message=(
        "Please see migration guide here for recommended implementation: "
        "https://python.langchain.com/docs/versions/migrating_chains/multi_prompt_chain/"
    ),
)
class MultiPromptChain(MultiRouteChain):
    """A multi-route chain that uses an LLM router chain to choose amongst prompts.

    This class is deprecated. See below for a replacement, which offers several
    benefits, including streaming and batch support.

    Below is an example implementation:

        ```python
        from operator import itemgetter
        from typing import Literal

        from langchain_core.output_parsers import StrOutputParser
        from langchain_core.prompts import ChatPromptTemplate
        from langchain_core.runnables import RunnableConfig
        from langchain_openai import ChatOpenAI
        from langgraph.graph import END, START, StateGraph
        from typing_extensions import TypedDict

        model = ChatOpenAI(model="gpt-4o-mini")

        # Define the prompts we will route to
        prompt_1 = ChatPromptTemplate.from_messages(
            [
                ("system", "You are an expert on animals."),
                ("human", "{input}"),
            ]
        )
// ... (131 more lines)

Subdomains

Dependencies

  • langchain_classic.chains
  • langchain_classic.chains.base
  • langchain_classic.chains.llm
  • langchain_classic.chains.router.base
  • langchain_classic.chains.router.llm_router
  • langchain_classic.chains.router.multi_prompt_prompt
  • langchain_core._api
  • langchain_core.language_models
  • langchain_core.prompts
  • typing
  • typing_extensions

Frequently Asked Questions

What does multi_prompt.py do?
multi_prompt.py is a source file in the langchain codebase, written in python. It belongs to the CoreAbstractions domain, RunnableInterface subdomain.
What does multi_prompt.py depend on?
multi_prompt.py imports 11 module(s): langchain_classic.chains, langchain_classic.chains.base, langchain_classic.chains.llm, langchain_classic.chains.router.base, langchain_classic.chains.router.llm_router, langchain_classic.chains.router.multi_prompt_prompt, langchain_core._api, langchain_core.language_models, and 3 more.
Where is multi_prompt.py in the architecture?
multi_prompt.py is located at libs/langchain/langchain_classic/chains/router/multi_prompt.py (domain: CoreAbstractions, subdomain: RunnableInterface, directory: libs/langchain/langchain_classic/chains/router).

Analyze Your Own Codebase

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

Try Supermodel Free