runnables#

LangChain RunnableLangChain 表达式语言 (LCEL)

LangChain表达式语言(LCEL)提供了一种声明式的方法来构建利用LLM力量的生产级程序。

使用LCEL和LangChain Runnables创建的程序天生支持同步、异步、批处理和流式操作。

支持async允许托管基于LCEL的程序的服务器更好地扩展,以应对更高的并发负载。

批处理操作允许并行处理多个输入。

流式处理中间输出,在它们生成时,可以创建更具响应性的用户体验。

该模块包含LangChain Runnables原语的模式和实现。

runnables.base.Runnable()

一个可以被调用、批处理、流式处理、转换和组合的工作单元。

runnables.base.RunnableBinding

用额外的功能包装一个Runnable。

runnables.base.RunnableBindingBase

将调用委托给另一个Runnable并带有一组kwargs的Runnable。

runnables.base.RunnableEach

将调用委托给另一个Runnable的Runnable,处理输入序列中的每个元素。

runnables.base.RunnableEachBase

将调用委托给另一个Runnable,并使用输入序列中的每个元素。

runnables.base.RunnableGenerator(transform)

运行生成器函数的Runnable。

runnables.base.RunnableLambda(func[, afunc, ...])

RunnableLambda 将一个 Python 可调用对象转换为 Runnable。

runnables.base.RunnableMap

RunnableParallel 的别名

runnables.base.RunnableParallel

并行运行一组Runnable的映射,并返回它们输出的映射。

runnables.base.RunnableSequence

Runnable 的序列,其中每个 Runnable 的输出是下一个 Runnable 的输入。

runnables.base.RunnableSerializable

可以序列化为JSON的Runnable。

runnables.branch.RunnableBranch

根据条件选择要运行的分支的可运行对象。

runnables.config.ContextThreadPoolExecutor([...])

将上下文复制到子线程的ThreadPoolExecutor。

runnables.config.EmptyDict

空字典类型。

runnables.config.RunnableConfig

Runnable 的配置。

runnables.configurable.DynamicRunnable

可动态配置的可序列化Runnable。

runnables.configurable.RunnableConfigurableAlternatives

可以动态配置的Runnable。

runnables.configurable.RunnableConfigurableFields

可以动态配置的Runnable。

runnables.configurable.StrEnum(value[, ...])

字符串枚举。

runnables.fallbacks.RunnableWithFallbacks

如果失败,可以回退到其他Runnable的Runnable。

runnables.graph.Branch(condition, ends)

图中的分支。

runnables.graph.CurveStyle(value[, names, ...])

Mermaid支持的不同曲线样式的枚举

runnables.graph.Edge(source, target[, data, ...])

图中的边。

runnables.graph.Graph(nodes, ...)

节点和边的图。

runnables.graph.LabelsDict

图中节点和边的标签字典。

runnables.graph.MermaidDrawMethod(value[, ...])

Mermaid支持的不同绘制方法的枚举

runnables.graph.Node(id, name, data, metadata)

图中的节点。

runnables.graph.NodeStyles([default, first, ...])

用于不同节点类型的十六进制颜色代码的架构。

runnables.graph.Stringifiable(*args, **kwargs)

runnables.graph_ascii.AsciiCanvas(cols, lines)

用于绘制ASCII的类。

runnables.graph_ascii.VertexViewer(name)

用于定义顶点框边界的类,这些边界将在grandalf构建图时被考虑。

runnables.graph_png.PngDrawer([fontname, labels])

用于将状态图绘制到PNG文件中的辅助类。

runnables.history.RunnableWithMessageHistory

管理另一个Runnable的聊天消息历史的Runnable。

runnables.passthrough.RunnableAssign

将键值对分配给Dict[str, Any]输入的Runnable。

runnables.passthrough.RunnablePassthrough

用于传递输入不变或带有额外键的Runnable。

runnables.passthrough.RunnablePick

从Dict[str, Any]输入中选择键的Runnable。

runnables.retry.RunnableRetry

如果Runnable失败,则重试。

runnables.router.RouterInput

路由器输入。

runnables.router.RouterRunnable

根据Input['key']路由到一组Runnables的可运行对象。

runnables.schema.BaseStreamEvent

流事件。

runnables.schema.CustomStreamEvent

用户创建的自定义流事件。

runnables.schema.EventData

与流事件相关的数据。

runnables.schema.StandardStreamEvent

遵循LangChain约定的事件数据的标准流事件。

runnables.utils.AddableDict

可以添加到另一个字典的字典。

runnables.utils.ConfigurableField(id[, ...])

可以由用户配置的字段。

runnables.utils.ConfigurableFieldMultiOption(id, ...)

可以由用户配置多个默认值的字段。

runnables.utils.ConfigurableFieldSingleOption(id, ...)

可以由用户配置的字段,带有默认值。

runnables.utils.ConfigurableFieldSpec(id, ...)

可以由用户配置的字段。

runnables.utils.FunctionNonLocals()

获取函数访问的非局部变量。

runnables.utils.GetLambdaSource()

获取lambda函数的源代码。

runnables.utils.IsFunctionArgDict()

检查函数的第一个参数是否为字典。

runnables.utils.IsLocalDict(name, keys)

检查名称是否为本地字典。

runnables.utils.NonLocals()

获取访问的非局部变量。

runnables.utils.SupportsAdd(*args, **kwargs)

支持加法的对象的协议。

函数

runnables.base.chain()

装饰一个函数使其成为一个可运行的对象。

runnables.base.coerce_to_runnable(thing)

将一个类似Runnable的对象强制转换为Runnable。

runnables.config.acall_func_with_variable_args(...)

异步调用函数,可以选择性地接受一个run_manager和/或配置。

runnables.config.call_func_with_variable_args(...)

调用可能选择性地接受 run_manager 和/或 config 的函数。

runnables.config.ensure_config([config])

确保配置是一个包含所有键的字典。

runnables.config.get_async_callback_manager_for_config(config)

获取配置的异步回调管理器。

runnables.config.get_callback_manager_for_config(config)

获取配置的回调管理器。

runnables.config.get_config_list(config, length)

从单个配置或配置列表中获取配置列表。

runnables.config.get_executor_for_config(config)

获取配置的执行器。

runnables.config.merge_configs(*configs)

将多个配置合并为一个。

runnables.config.patch_config(config, *[, ...])

使用新值修补配置。

runnables.config.run_in_executor(...)

在executor中运行一个函数。

runnables.configurable.make_options_spec(...)

为ConfigurableFieldSingleOption或ConfigurableFieldMultiOption创建一个ConfigurableFieldSpec。

runnables.configurable.prefix_config_spec(...)

为ConfigurableFieldSpec的id添加前缀。

runnables.graph.is_uuid(value)

检查字符串是否为有效的UUID。

runnables.graph.node_data_json(node, *[, ...])

将节点的数据转换为可JSON序列化的格式。

runnables.graph.node_data_str(id, data)

将节点的数据转换为字符串。

runnables.graph_ascii.draw_ascii(vertices, edges)

构建一个DAG并以ASCII形式绘制。

runnables.graph_mermaid.draw_mermaid(nodes, ...)

使用提供的图形数据绘制Mermaid图。

runnables.graph_mermaid.draw_mermaid_png(...)

使用提供的语法将Mermaid图绘制为PNG。

runnables.passthrough.aidentity(x)

异步身份函数。

runnables.passthrough.identity(x)

恒等函数。

runnables.utils.aadd(addables)

异步地将一系列可添加对象相加。

runnables.utils.accepts_config(callable)

检查一个可调用对象是否接受配置参数。

runnables.utils.accepts_context(callable)

检查一个可调用对象是否接受上下文参数。

runnables.utils.accepts_run_manager(callable)

检查一个可调用对象是否接受 run_manager 参数。

runnables.utils.add(addables)

将一系列可添加对象相加。

runnables.utils.gated_coro(semaphore, coro)

使用信号量运行一个协程。

runnables.utils.gather_with_concurrency(n, ...)

限制并发协程数量的协程收集器。

runnables.utils.get_function_first_arg_dict_keys(func)

如果函数的第一个参数是字典,则获取其键。

runnables.utils.get_lambda_source(func)

获取lambda函数的源代码。

runnables.utils.get_unique_config_specs(specs)

从配置规范序列中获取唯一的配置规范。

runnables.utils.indent_lines_after_first(...)

缩进第一行之后的所有文本行。

runnables.utils.is_async_callable(func)

检查一个函数是否是异步的。

runnables.utils.is_async_generator(func)

检查一个函数是否是异步生成器。