Skip to content

Commit

Permalink
core: Updated docstring for Context class (langchain-ai#19079)
Browse files Browse the repository at this point in the history
- **Description:** Improves the docstring for `class Context` by
providing an overview and an example.
- **Issue:** langchain-ai#18803
  • Loading branch information
aaronjimv authored and gkorland committed Mar 30, 2024
1 parent e0393f7 commit ef7983e
Showing 1 changed file with 40 additions and 1 deletion.
41 changes: 40 additions & 1 deletion libs/core/langchain_core/beta/runnables/context.py
Original file line number Diff line number Diff line change
Expand Up @@ -307,7 +307,46 @@ async def ainvoke(


class Context:
"""Context for a runnable."""
"""
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:
.. code-block:: python
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?
"""

@staticmethod
def create_scope(scope: str, /) -> "PrefixContext":
Expand Down

0 comments on commit ef7983e

Please sign in to comment.