langchain_core.beta.runnables.context.Context¶

class langchain_core.beta.runnables.context.Context[source]¶

Context for a runnable.

The Context class provides methods for creating context scopes, getters, and setters within a runnable. It allows for managing and accessing contextual information throughout the execution of a program.

Example

from langchain_core.beta.runnables.context import Context
from langchain_core.runnables.passthrough import RunnablePassthrough
from langchain_core.prompts.prompt import PromptTemplate
from langchain_core.output_parsers.string import StrOutputParser
from tests.unit_tests.fake.llm import FakeListLLM

chain = (
    Context.setter("input")
    | {
        "context": RunnablePassthrough()
                | Context.setter("context"),
        "question": RunnablePassthrough(),
    }
    | PromptTemplate.from_template("{context} {question}")
    | FakeListLLM(responses=["hello"])
    | StrOutputParser()
    | {
        "result": RunnablePassthrough(),
        "context": Context.getter("context"),
        "input": Context.getter("input"),
    }
)

# Use the chain
output = chain.invoke("What's your name?")
print(output["result"])  # Output: "hello"
print(output["context"])  # Output: "What's your name?"
print(output["input"])  # Output: "What's your name?

Methods

__init__()

create_scope(scope, /)

Create a context scope.

getter(key, /)

setter([_key, _value])

__init__()¶
static create_scope(scope: str, /) PrefixContext[source]¶

Create a context scope.

Parameters

scope (str) – The scope.

Returns

The context scope.

Return type

PrefixContext

static getter(key: Union[str, List[str]], /) ContextGet[source]¶
Parameters

key (Union[str, List[str]]) –

Return type

ContextGet

static setter(_key: Optional[str] = None, _value: Optional[Union[Runnable[Input, Output], Callable[[Input], Output], Callable[[Input], Awaitable[Output]], Any]] = None, /, **kwargs: Union[Runnable[Input, Output], Callable[[Input], Output], Callable[[Input], Awaitable[Output]], Any]) ContextSet[source]¶
Parameters
  • _key (Optional[str]) –

  • _value (Optional[Union[Runnable[Input, Output], Callable[[Input], Output], Callable[[Input], Awaitable[Output]], Any]]) –

  • kwargs (Union[Runnable[Input, Output], Callable[[Input], Output], Callable[[Input], Awaitable[Output]], Any]) –

Return type

ContextSet