Componentes do LangChain
Instale com pip install "laya[langchain]". O guia de LangChain e LangGraph
mostra estes componentes em cadeias e grafos.
Nomes, tipos, valores padrão e código permanecem em inglês; o restante é traduzido (entradas ainda não traduzidas são exibidas no original em inglês).
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,
)Classes base: _BatchedRunnable, RunnableSerializable
Aresta condicional do LangGraph e runnable de roteamento do LangChain LCEL com latência zero.
Avalia a entrada do usuário contra critérios tipados em ~33 ms sem geração de tokens.
Suporta gating por limiar de confiança e roteamento de fallback, e responde a uma lista de
entradas em uma única passagem direta compartilhada através de batch.
Parâmetros
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]=NonelangOptional[str]=Nonemin_confidenceOptional[float]=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) -> strRoteia a entrada para um rótulo de ramo de destino.
Parâmetros
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,
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,
)Classes base: _BatchedRunnable, RunnableSerializable
Guardrail inline de menos de 40 ms para cadeias do LangChain e nós do LangGraph.
Filtra injeções de prompt, jailbreaks, dados sensíveis ou critérios de dano
personalizados antes de passar as entradas adiante. Uma lista de entradas é filtrada em uma
única passagem direta compartilhada através de batch.
threshold é uma probabilidade de violação em [0, 1] para cada pergunta noul e score:
para uma pergunta noul, aplica-se a noul, e para uma pergunta score,
à probabilidade de que o nível esteja no meio da escala ou acima
(serious ou severe para o harm_severity padrão; o nível do meio
conta em uma escala ímpar). Os níveis de uma pergunta score devem ir de inofensivo
a pior.
Parâmetros
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]=NonelangOptional[str]=Nonemin_confidenceOptional[float]=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) -> AnyFiltra a entrada contra as perguntas do guardrail.
Parâmetros
inputAnyconfigOptional[RunnableConfig]=None
LayaGuardrailError
LayaGuardrailError(
message: str,
violations: Dict[str, Any],
raw_decision: Dict[str, Any],
)Classes base: ValueError
Lançado quando uma entrada viola uma política de guardrail do Laya.
Parâmetros
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,
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,
)Classes base: _BatchedRunnable, RunnableSerializable
Nó de triagem de tickets de suporte ao cliente e mensagens recebidas para o LangGraph.
Analisa intenção, urgência, frustração do cliente e risco de churn em uma única
passagem direta e enriquece o dicionário de estado do grafo. Um backlog é triado em uma única
passagem direta compartilhada através de batch.
Parâmetros
state_keyOptional[Union[str, Callable[[Any], Any]]]=NoneagentOptional[Any]=Nonebase_urlOptional[str]=Noneapi_keyOptional[str]=NonemodelOptional[str]=Nonemax_lenOptional[int]=Nonehead_max_lenOptional[int]=NonelangOptional[str]=Nonemin_confidenceOptional[float]=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]Faz a triagem do estado e retorna os campos enriquecidos.
Parâmetros
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,
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,
)Classes base: _BatchedRunnable, RunnableSerializable
Correção de saídas por rubrica e avaliação de alucinações para o LangChain.
Avalia as respostas do LLM contra critérios sem gerar texto. Uma lista de
respostas é avaliada em uma única passagem direta compartilhada através de batch.
Parâmetros
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]=NonelangOptional[str]=Nonemin_confidenceOptional[float]=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]Interface padrão de avaliação de strings do LangChain.
Parâmetros
predictionstrinputOptional[str]=NonekwargsAny