文档导航

LangChain 组件

LangChain 组件

用 pip install "laya[langchain]" 安装。LangChain 与 LangGraph 指南 展示了这些组件在链和图里的用法。

名称、类型、默认值与代码保持英文;其余为译文(尚未翻译的条目暂显示英文原文)。

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,
)

基类: _BatchedRunnable, RunnableSerializable

零延迟的 LangGraph 条件边,也是 LangChain LCEL 的路由 runnable。

不做 token 生成,约 33 ms 就能把用户输入对照类型化判定标准评完。支持置信度阈值门控与回退路由;一批输入还可以通过 batch 共用一次前向传播。

参数

criteriaDict[str, str]
instructionsstr= "Which route should handle this request?"
confidence_thresholdfloat= 0.0
fallbackOptional[str]= None
state_keyOptional[Union[str, Callable[[Any], Any]]]= None
agentOptional[Any]= None
base_urlOptional[str]= None
api_keyOptional[str]= None
modelOptional[str]= None
max_lenOptional[int]= None
head_max_lenOptional[int]= None
hooksOptional[Any]= None
on_predict_startOptional[Any]= None
on_predict_endOptional[Any]= None
hooks_raiseOptional[bool]= None
hooks_timeoutOptional[float]= None
kwargsAny

invoke

invoke(input: Any, config: Optional[RunnableConfig] = None) -> str

把输入路由到目标分支的标签。

参数

inputAny
configOptional[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,
)

基类: _BatchedRunnable, RunnableSerializable

给 LangChain chain 与 LangGraph 节点用的内联防护栏,40 ms 以内出结果。

在把输入交给下游之前,筛查提示词注入、越狱、敏感数据或自定义的危害判定标准。一批输入可以通过 batch 共用一次前向传播完成筛查。

threshold 是每个 noul 与 score 问题的违规概率,取值 [0, 1]:对 noul 问题,它作用在 noul 上;对 score 问题,它作用在「档位处于量表中点或更高」的概率上(默认的 harm_severity 下即 serious 或 severe;档位数为奇数时中点档位也算)。score 问题的档位必须从无害排到最严重。

参数

questionsOptional[Dict[str, Any]]= None
actionstr= "raise"
rejection_messagestr= "I cannot fulfill this request because it violates safety guidelines."
thresholdfloat= 0.5
state_keyOptional[Union[str, Callable[[Any], Any]]]= None
agentOptional[Any]= None
base_urlOptional[str]= None
api_keyOptional[str]= None
modelOptional[str]= None
max_lenOptional[int]= None
head_max_lenOptional[int]= None
hooksOptional[Any]= None
on_predict_startOptional[Any]= None
on_predict_endOptional[Any]= None
hooks_raiseOptional[bool]= None
hooks_timeoutOptional[float]= None
kwargsAny

invoke

invoke(input: Any, config: Optional[RunnableConfig] = None) -> Any

用防护栏问题筛查输入。

参数

inputAny
configOptional[RunnableConfig]= None

LayaGuardrailError

LayaGuardrailError(
    message: str,
    violations: Dict[str, Any],
    raw_decision: Dict[str, Any],
)

基类: ValueError

输入违反 Laya 防护栏策略时抛出。

参数

messagestr
violationsDict[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,
)

基类: _BatchedRunnable, RunnableSerializable

给 LangGraph 用的客服工单与来信分流节点。

一次前向传播就分析出意图、紧急程度、客户挫败感与流失风险,并把这些字段补进图的状态字典。一批积压可以通过 batch 共用一次前向传播完成分流。

参数

state_keyOptional[Union[str, Callable[[Any], Any]]]= None
agentOptional[Any]= None
base_urlOptional[str]= None
api_keyOptional[str]= None
modelOptional[str]= None
max_lenOptional[int]= None
head_max_lenOptional[int]= None
hooksOptional[Any]= None
on_predict_startOptional[Any]= None
on_predict_endOptional[Any]= None
hooks_raiseOptional[bool]= None
hooks_timeoutOptional[float]= None
kwargsAny

invoke

invoke(state: Any, config: Optional[RunnableConfig] = None) -> Dict[str, Any]

对状态做分流,返回补齐后的字段。

参数

stateAny
configOptional[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,
)

基类: _BatchedRunnable, RunnableSerializable

给 LangChain 用的量规式输出评分与幻觉评估。

不生成文本,直接按判定标准评估 LLM 给出的回复。一批回复可以通过 batch 共用一次前向传播完成评分。

参数

questionsDict[str, Any]
state_keyOptional[Union[str, Callable[[Any], Any]]]= None
agentOptional[Any]= None
base_urlOptional[str]= None
api_keyOptional[str]= None
modelOptional[str]= None
max_lenOptional[int]= None
head_max_lenOptional[int]= None
hooksOptional[Any]= None
on_predict_startOptional[Any]= None
on_predict_endOptional[Any]= None
hooks_raiseOptional[bool]= None
hooks_timeoutOptional[float]= None
kwargsAny

evaluate_strings

evaluate_strings(
    prediction: str,
    input: Optional[str] = None,
    kwargs: Any,
) -> Dict[str, Any]

LangChain 标准的字符串评估接口。

参数

predictionstr
inputOptional[str]= None
kwargsAny