Компоненты 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.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) -> strМаршрутизирует вход в метку целевой ветви.
Параметры
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,
)Базовые классы: _BatchedRunnable, RunnableSerializable
Встроенный ограничитель менее 40 мс для цепочек LangChain и узлов LangGraph.
Проверяет на предмет промпт-инъекций, джейлбрейков, чувствительных данных или пользовательских
критериев вреда, прежде чем передать входы дальше. Список входов проверяется за один
общий проход вперёд через batch.
threshold — вероятность нарушения в [0, 1] для каждого вопроса noul и score:
для вопроса noul он применяется к noul, а для вопроса score
к вероятности того, что уровень находится на середине шкалы или выше
(serious или severe для harm_severity по умолчанию; средний уровень
считается на нечётной шкале). Уровни вопроса score должны идти от безвредного
до худшего.
Параметры
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) -> AnyПроверяет вход по вопросам ограничителя.
Параметры
inputAnyconfigOptional[RunnableConfig]=None
LayaGuardrailError
LayaGuardrailError(
message: str,
violations: Dict[str, Any],
raw_decision: Dict[str, Any],
)Базовые классы: ValueError
Возбуждается, когда вход нарушает политику ограничителя Laya.
Параметры
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,
)Базовые классы: _BatchedRunnable, RunnableSerializable
Узел триажа тикетов поддержки клиентов и входящих сообщений для LangGraph.
Анализирует намерение, срочность, недовольство клиента и риск оттока за один
проход вперёд и обогащает словарь состояния графа. Накопленная очередь обрабатывается за один
общий проход вперёд через batch.
Параметры
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]Триажит состояние и возвращает обогащённые поля.
Параметры
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,
)Базовые классы: _BatchedRunnable, RunnableSerializable
Оценка вывода по рубрикам и оценка галлюцинаций для LangChain.
Оценивает ответы LLM по критериям без генерации текста. Список
ответов оценивается за один общий проход вперёд через batch.
Параметры
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]Стандартный интерфейс оценки строк LangChain.
Параметры
predictionstrinputOptional[str]=NonekwargsAny