LangChain components
LangChain components
Install with pip install "laya[langchain]". The LangChain & LangGraph guide
shows these components in chains and graphs.
Names, types, defaults and code stay in English; the rest is translated (entries not translated yet are shown in the original English).
LayaRouter
LayaRouter(
criteria: Dict[str, str],
instructions: str = "Which route should handle this request?",
confidence_threshold: float = 0.0,
fallback: Optional[str] = None,
state_key: Optional[Union[str, Callable[[Any], Any]]] = None,
agent: Optional[Any] = None,
base_url: Optional[str] = None,
api_key: Optional[str] = None,
model: Optional[str] = None,
max_len: Optional[int] = None,
head_max_len: Optional[int] = None,
hooks: Optional[Any] = None,
on_predict_start: Optional[Any] = None,
on_predict_end: Optional[Any] = None,
hooks_raise: Optional[bool] = None,
hooks_timeout: Optional[float] = None,
kwargs: Any,
)Bases: _BatchedRunnable, RunnableSerializable
Zero-latency LangGraph conditional edge and LangChain LCEL routing runnable.
Evaluates user input against typed criteria in ~33 ms without token generation.
Supports confidence threshold gating and fallback routing, and answers a list of
inputs in one shared forward pass through batch.
Parameters
criteriaDict[str, str]instructionsstr="Which route should handle this request?"confidence_thresholdfloat=0.0fallbackOptional[str]=Nonestate_keyOptional[Union[str, Callable[[Any], Any]]]=NoneagentOptional[Any]=Nonebase_urlOptional[str]=Noneapi_keyOptional[str]=NonemodelOptional[str]=Nonemax_lenOptional[int]=Nonehead_max_lenOptional[int]=NonehooksOptional[Any]=Noneon_predict_startOptional[Any]=Noneon_predict_endOptional[Any]=Nonehooks_raiseOptional[bool]=Nonehooks_timeoutOptional[float]=NonekwargsAny
invoke
invoke(input: Any, config: Optional[RunnableConfig] = None) -> strRoute input to a destination branch label.
Parameters
inputAnyconfigOptional[RunnableConfig]=None
LayaGuardrail
LayaGuardrail(
questions: Optional[Dict[str, Any]] = None,
action: str = "raise",
rejection_message: str = "I cannot fulfill this request because it violates safety guidelines.",
threshold: float = 0.5,
state_key: Optional[Union[str, Callable[[Any], Any]]] = None,
agent: Optional[Any] = None,
base_url: Optional[str] = None,
api_key: Optional[str] = None,
model: Optional[str] = None,
max_len: Optional[int] = None,
head_max_len: Optional[int] = None,
hooks: Optional[Any] = None,
on_predict_start: Optional[Any] = None,
on_predict_end: Optional[Any] = None,
hooks_raise: Optional[bool] = None,
hooks_timeout: Optional[float] = None,
kwargs: Any,
)Bases: _BatchedRunnable, RunnableSerializable
Sub-40ms inline guardrail for LangChain chains and LangGraph nodes.
Screens for prompt injections, jailbreaks, sensitive data, or custom harm
criteria before passing inputs downstream. A list of inputs is screened in one
shared forward pass through batch.
threshold is a violation probability in [0, 1] for every noul and score
question: for a noul question it applies to noul, and for a score
question to the probability that the level is at or above the middle of the
scale (serious or severe for the default harm_severity; the middle level
counts on an odd scale). Levels of a score question must run from harmless
to worst.
Parameters
questionsOptional[Dict[str, Any]]=Noneactionstr="raise"rejection_messagestr="I cannot fulfill this request because it violates safety guidelines."thresholdfloat=0.5state_keyOptional[Union[str, Callable[[Any], Any]]]=NoneagentOptional[Any]=Nonebase_urlOptional[str]=Noneapi_keyOptional[str]=NonemodelOptional[str]=Nonemax_lenOptional[int]=Nonehead_max_lenOptional[int]=NonehooksOptional[Any]=Noneon_predict_startOptional[Any]=Noneon_predict_endOptional[Any]=Nonehooks_raiseOptional[bool]=Nonehooks_timeoutOptional[float]=NonekwargsAny
invoke
invoke(input: Any, config: Optional[RunnableConfig] = None) -> AnyScreen input against guardrail questions.
Parameters
inputAnyconfigOptional[RunnableConfig]=None
LayaGuardrailError
LayaGuardrailError(
message: str,
violations: Dict[str, Any],
raw_decision: Dict[str, Any],
)Bases: ValueError
Raised when an input violates a Laya guardrail policy.
Parameters
messagestrviolationsDict[str, Any]raw_decisionDict[str, Any]
LayaTriage
LayaTriage(
state_key: Optional[Union[str, Callable[[Any], Any]]] = None,
agent: Optional[Any] = None,
base_url: Optional[str] = None,
api_key: Optional[str] = None,
model: Optional[str] = None,
max_len: Optional[int] = None,
head_max_len: Optional[int] = None,
hooks: Optional[Any] = None,
on_predict_start: Optional[Any] = None,
on_predict_end: Optional[Any] = None,
hooks_raise: Optional[bool] = None,
hooks_timeout: Optional[float] = None,
kwargs: Any,
)Bases: _BatchedRunnable, RunnableSerializable
Customer support ticket and incoming message triage node for LangGraph.
Analyzes intent, urgency, customer frustration, and churn risk in one single
forward pass and enriches the graph state dictionary. A backlog is triaged in one
shared forward pass through batch.
Parameters
state_keyOptional[Union[str, Callable[[Any], Any]]]=NoneagentOptional[Any]=Nonebase_urlOptional[str]=Noneapi_keyOptional[str]=NonemodelOptional[str]=Nonemax_lenOptional[int]=Nonehead_max_lenOptional[int]=NonehooksOptional[Any]=Noneon_predict_startOptional[Any]=Noneon_predict_endOptional[Any]=Nonehooks_raiseOptional[bool]=Nonehooks_timeoutOptional[float]=NonekwargsAny
invoke
invoke(state: Any, config: Optional[RunnableConfig] = None) -> Dict[str, Any]Triage the state and return enriched fields.
Parameters
stateAnyconfigOptional[RunnableConfig]=None
LayaEvaluator
LayaEvaluator(
questions: Dict[str, Any],
state_key: Optional[Union[str, Callable[[Any], Any]]] = None,
agent: Optional[Any] = None,
base_url: Optional[str] = None,
api_key: Optional[str] = None,
model: Optional[str] = None,
max_len: Optional[int] = None,
head_max_len: Optional[int] = None,
hooks: Optional[Any] = None,
on_predict_start: Optional[Any] = None,
on_predict_end: Optional[Any] = None,
hooks_raise: Optional[bool] = None,
hooks_timeout: Optional[float] = None,
kwargs: Any,
)Bases: _BatchedRunnable, RunnableSerializable
Rubric-based output grading and hallucination evaluation for LangChain.
Evaluates LLM responses against criteria without generating text. A list of
responses is graded in one shared forward pass through batch.
Parameters
questionsDict[str, Any]state_keyOptional[Union[str, Callable[[Any], Any]]]=NoneagentOptional[Any]=Nonebase_urlOptional[str]=Noneapi_keyOptional[str]=NonemodelOptional[str]=Nonemax_lenOptional[int]=Nonehead_max_lenOptional[int]=NonehooksOptional[Any]=Noneon_predict_startOptional[Any]=Noneon_predict_endOptional[Any]=Nonehooks_raiseOptional[bool]=Nonehooks_timeoutOptional[float]=NonekwargsAny
evaluate_strings
evaluate_strings(
prediction: str,
input: Optional[str] = None,
kwargs: Any,
) -> Dict[str, Any]LangChain standard string evaluation interface.
Parameters
predictionstrinputOptional[str]=NonekwargsAny