Документация

Компоненты 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 с нулевой задержкой и runnable маршрутизации LangChain LCEL.

Оценивает пользовательский ввод по типизированным критериям за ~33 мс без генерации токенов. Поддерживает gating по порогу уверенности и резервную маршрутизацию, а также отвечает на список входов за один общий проход вперёд через 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
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

Встроенный ограничитель менее 40 мс для цепочек LangChain и узлов LangGraph.

Проверяет на предмет промпт-инъекций, джейлбрейков, чувствительных данных или пользовательских критериев вреда, прежде чем передать входы дальше. Список входов проверяется за один общий проход вперёд через batch.

threshold — вероятность нарушения в [0, 1] для каждого вопроса noul и score: для вопроса noul он применяется к noul, а для вопроса score к вероятности того, что уровень находится на середине шкалы или выше (serious или severe для harm_severity по умолчанию; средний уровень считается на нечётной шкале). Уровни вопроса 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.

Анализирует намерение, срочность, недовольство клиента и риск оттока за один проход вперёд и обогащает словарь состояния графа. Накопленная очередь обрабатывается за один общий проход вперёд через 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
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.

Параметры

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