ドキュメント

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 です。

トークン生成を行わず、約 33 ms でユーザー入力を型付きの判定基準に照らして評価します。信頼度のしきい値によるゲートとフォールバックルーティングに対応し、複数の入力は batch を通じて 1 回のフォワードパスでまとめて処理できます。

引数

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 のチェーンと LangGraph のノードに入れる、40 ms 未満で返るインラインのガードレールです。

入力を下流へ渡す前に、プロンプトインジェクション、ジェイルブレイク、機密データ、または独自の危害判定基準を検査します。複数の入力は batch を通じて 1 回のフォワードパスでまとめて検査できます。

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 向けの、カスタマーサポートチケットと受信メッセージのトリアージノードです。

意図、緊急度、顧客のいらだち、解約リスクを 1 回のフォワードパスで分析し、グラフの状態辞書に反映します。たまった分は batch を通じて 1 回のフォワードパスでまとめて処理できます。

引数

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 を通じて 1 回のフォワードパスでまとめて採点できます。

引数

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