문서

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,
    lang: Optional[str] = None,
    min_confidence: Optional[float] = 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를 통해 하나의 공유 forward 패스로 답합니다.

매개변수

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
langOptional[str]= None
min_confidenceOptional[float]= 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,
    lang: Optional[str] = None,
    min_confidence: Optional[float] = 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를 통해 하나의 공유 forward 패스로 심사됩니다.

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
langOptional[str]= None
min_confidenceOptional[float]= 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,
    lang: Optional[str] = None,
    min_confidence: Optional[float] = 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를 위한 고객 지원 티켓과 수신 메시지 분류 노드입니다.

단 한 번의 forward 패스로 의도, 긴급도, 고객의 불만, 이탈 위험을 분석하고 그래프 상태 딕셔너리를 풍부하게 합니다. 백로그는 batch를 통해 하나의 공유 forward 패스로 분류됩니다.

매개변수

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
langOptional[str]= None
min_confidenceOptional[float]= 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,
    lang: Optional[str] = None,
    min_confidence: Optional[float] = 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를 통해 하나의 공유 forward 패스로 채점됩니다.

매개변수

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
langOptional[str]= None
min_confidenceOptional[float]= 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