langchain-core: 0.3.29#

langchain-core 定义了 LangChain 生态系统的基本抽象。

核心组件的接口,如聊天模型、LLMs、向量存储、检索器等,都在这里定义。通用的调用协议(Runnables)以及组合组件的语法(LangChain表达式语言)也在这里定义。

这里没有定义第三方集成。依赖关系特意保持得非常轻量级。

agents#

agents.AgentAction

表示代理执行操作的请求。

agents.AgentActionMessageLog

表示由代理执行的操作。

agents.AgentFinish

ActionAgent 的最终返回值。

agents.AgentStep

运行AgentAction的结果。

beta#

beta.runnables.context.Context()

可运行对象的上下文。

beta.runnables.context.ContextGet

beta.runnables.context.ContextSet

beta.runnables.context.PrefixContext([prefix])

带有前缀的可运行对象的上下文。

函数

beta.runnables.context.aconfig_with_context(...)

异步使用上下文获取器和设置器修补可运行配置。

beta.runnables.context.config_with_context(...)

使用上下文获取器和设置器修补可运行配置。

缓存#

caches.BaseCache()

用于LLMs和聊天模型的缓存层接口。

caches.InMemoryCache(*[, maxsize])

缓存,将内容存储在内存中。

回调#

callbacks.base.AsyncCallbackHandler()

LangChain的异步回调处理程序。

callbacks.base.BaseCallbackHandler()

LangChain 的基础回调处理程序。

callbacks.base.BaseCallbackManager(handlers)

LangChain 的基础回调管理器。

callbacks.base.CallbackManagerMixin()

用于回调管理器的Mixin。

callbacks.base.ChainManagerMixin()

用于链回调的Mixin。

callbacks.base.LLMManagerMixin()

用于LLM回调的Mixin。

callbacks.base.RetrieverManagerMixin()

用于Retriever回调的Mixin。

callbacks.base.RunManagerMixin()

用于运行管理器的混合类。

callbacks.base.ToolManagerMixin()

用于工具回调的Mixin。

callbacks.file.FileCallbackHandler(filename)

写入文件的回调处理程序。

callbacks.manager.AsyncCallbackManager(handlers)

处理来自LangChain的回调的异步回调管理器。

callbacks.manager.AsyncCallbackManagerForChainGroup(...)

链式组的异步回调管理器。

callbacks.manager.AsyncCallbackManagerForChainRun(*, ...)

用于链运行的异步回调管理器。

callbacks.manager.AsyncCallbackManagerForLLMRun(*, ...)

用于LLM运行的异步回调管理器。

callbacks.manager.AsyncCallbackManagerForRetrieverRun(*, ...)

用于检索器运行的异步回调管理器。

callbacks.manager.AsyncCallbackManagerForToolRun(*, ...)

用于工具运行的异步回调管理器。

callbacks.manager.AsyncParentRunManager(*, ...)

异步父运行管理器。

callbacks.manager.AsyncRunManager(*, run_id, ...)

异步运行管理器。

callbacks.manager.BaseRunManager(*, run_id, ...)

运行管理器的基础类(一个绑定的回调管理器)。

callbacks.manager.CallbackManager(handlers)

LangChain的回调管理器。

callbacks.manager.CallbackManagerForChainGroup(...)

链组的回调管理器。

callbacks.manager.CallbackManagerForChainRun(*, ...)

用于链运行的回调管理器。

callbacks.manager.CallbackManagerForLLMRun(*, ...)

用于LLM运行的回调管理器。

callbacks.manager.CallbackManagerForRetrieverRun(*, ...)

用于检索器运行的回调管理器。

callbacks.manager.CallbackManagerForToolRun(*, ...)

工具运行的回调管理器。

callbacks.manager.ParentRunManager(*, ...[, ...])

同步父运行管理器。

callbacks.manager.RunManager(*, run_id, ...)

同步运行管理器。

callbacks.stdout.StdOutCallbackHandler([color])

打印到标准输出的回调处理程序。

callbacks.streaming_stdout.StreamingStdOutCallbackHandler()

用于流式传输的回调处理程序。

函数

callbacks.manager.adispatch_custom_event(...)

向处理程序分派一个临时事件。

callbacks.manager.ahandle_event(handlers, ...)

AsyncCallbackManager 的异步通用事件处理程序。

callbacks.manager.atrace_as_chain_group(...)

获取一个异步回调管理器,用于上下文管理器中的链组。

callbacks.manager.dispatch_custom_event(...)

分发一个临时事件。

callbacks.manager.handle_event(handlers, ...)

CallbackManager的通用事件处理程序。

callbacks.manager.shielded(func)

确保一个可等待的方法始终不会被取消。

callbacks.manager.trace_as_chain_group(...)

在上下文管理器中获取链组的回调管理器。

聊天历史#

chat_history.BaseChatMessageHistory()

用于存储聊天消息历史的抽象基类。

chat_history.InMemoryChatMessageHistory

聊天消息历史的内存实现。

chat_loaders#

chat_loaders.BaseChatLoader()

聊天加载器的基类。

chat_sessions#

chat_sessions.ChatSession

聊天会话表示单个对话、频道或其他消息组。

document_loaders#

document_loaders.base.BaseBlobParser()

用于blob解析器的抽象接口。

document_loaders.base.BaseLoader()

文档加载器的接口。

document_loaders.blob_loaders.BlobLoader()

用于实现blob加载器的抽象接口。

document_loaders.langsmith.LangSmithLoader(*)

将LangSmith数据集示例加载为文档。

文档#

documents.base.BaseMedia

用于表示媒体内容。

documents.base.Blob

Blob 表示通过引用或值的原始数据。

documents.base.Document

用于存储一段文本和相关元数据的类。

documents.compressor.BaseDocumentCompressor

文档压缩器的基类。

documents.transformers.BaseDocumentTransformer()

文档转换的抽象基类。

embeddings#

embeddings.embeddings.Embeddings()

嵌入模型的接口。

embeddings.fake.DeterministicFakeEmbedding

用于单元测试的确定性假嵌入模型。

embeddings.fake.FakeEmbeddings

用于单元测试的假嵌入模型。

example_selectors#

example_selectors.base.BaseExampleSelector()

用于选择要包含在提示中的示例的接口。

example_selectors.length_based.LengthBasedExampleSelector

根据长度选择示例。

example_selectors.semantic_similarity.MaxMarginalRelevanceExampleSelector

基于最大边际相关性选择示例。

example_selectors.semantic_similarity.SemanticSimilarityExampleSelector

根据语义相似性选择示例。

函数

example_selectors.semantic_similarity.sorted_values(values)

返回按键排序的字典值列表。

异常#

exceptions.ErrorCode(value[, names, module, ...])

exceptions.LangChainException

通用的LangChain异常。

exceptions.OutputParserException(error[, ...])

输出解析器应引发的异常,表示解析错误。

exceptions.TracerException

追踪器模块异常的基类。

函数

exceptions.create_message(*, message, error_code)

globals#

函数

globals.get_debug()

获取debug全局设置的值。

globals.get_llm_cache()

获取llm_cache全局设置的值。

globals.get_verbose()

获取verbose全局设置的值。

globals.set_debug(value)

debug全局设置设置一个新值。

globals.set_llm_cache(value)

设置一个新的LLM缓存,覆盖之前的值(如果有的话)。

globals.set_verbose(value)

verbose全局设置一个新值。

索引#

indexing.api.IndexingException

当索引操作失败时引发。

indexing.api.IndexingResult

返回索引操作结果的详细分解。

indexing.base.DeleteResponse

删除操作的通用响应。

indexing.base.DocumentIndex

indexing.base.InMemoryRecordManager(namespace)

用于测试目的的内存记录管理器。

indexing.base.RecordManager(namespace)

表示记录管理器接口的抽象基类。

indexing.base.UpsertResponse

用于upsert操作的通用响应。

indexing.in_memory.InMemoryDocumentIndex

函数

indexing.api.aindex(docs_source, ...[, ...])

异步将加载器中的数据索引到向量存储中。

indexing.api.index(docs_source, ...[, ...])

将加载器中的数据索引到向量存储中。

language_models#

language_models.base.BaseLanguageModel

用于与语言模型交互的抽象基类。

language_models.base.BaseLanguageModel[BaseMessage]

用于与语言模型交互的抽象基类。

language_models.base.BaseLanguageModel[str]

用于与语言模型交互的抽象基类。

language_models.base.LangSmithParams

用于追踪的LangSmith参数。

language_models.chat_models.BaseChatModel

聊天模型的基础类。

language_models.chat_models.SimpleChatModel

简化的聊天模型实现,供继承使用。

language_models.fake.FakeListLLM

用于测试的假LLM。

language_models.fake.FakeListLLMError

用于测试的假错误。

language_models.fake.FakeStreamingListLLM

用于测试的假流式列表LLM。

language_models.fake_chat_models.FakeChatModel

用于测试的假聊天模型包装器。

language_models.fake_chat_models.FakeListChatModel

用于测试的假聊天模型。

language_models.fake_chat_models.FakeListChatModelError

language_models.fake_chat_models.FakeMessagesListChatModel

用于测试的假聊天模型。

language_models.fake_chat_models.GenericFakeChatModel

可用于测试聊天模型接口的通用假聊天模型。

language_models.fake_chat_models.ParrotFakeChatModel

通用的假聊天模型,可用于测试聊天模型接口。

language_models.llms.BaseLLM

基础LLM抽象接口。

language_models.llms.LLM

实现自定义LLM的简单接口。

函数

language_models.chat_models.agenerate_from_stream(stream)

从流中异步生成。

language_models.chat_models.generate_from_stream(stream)

从流中生成。

language_models.llms.aget_prompts(params, ...)

获取已经缓存的提示。

language_models.llms.aupdate_cache(cache, ...)

更新缓存并获取LLM输出。

language_models.llms.create_base_retry_decorator(...)

为给定的LLM创建一个重试装饰器

language_models.llms.get_prompts(params, prompts)

获取已经缓存的提示。

language_models.llms.update_cache(cache, ...)

更新缓存并获取LLM输出。

load#

load.load.Reviver([secrets_map, ...])

用于JSON对象的恢复器。

load.serializable.BaseSerialized

序列化对象的基类。

load.serializable.Serializable

可序列化的基类。

load.serializable.SerializedConstructor

序列化构造函数。

load.serializable.SerializedNotImplemented

未实现的序列化。

load.serializable.SerializedSecret

序列化的秘密。

函数

load.dump.default(obj)

返回一个可序列化对象或SerializedNotImplemented对象的默认值。

load.dump.dumpd(obj)

返回对象的字典表示。

load.dump.dumps(obj, *[, pretty])

返回对象的JSON字符串表示。

load.load.load(obj, *[, secrets_map, ...])

load.load.loads(text, *[, secrets_map, ...])

load.serializable.to_json_not_implemented(obj)

序列化一个“未实现”的对象。

load.serializable.try_neq_default(value, ...)

尝试确定一个值是否与默认值不同。

消息#

messages.ai.AIMessage

来自AI的消息。

messages.ai.AIMessageChunk

来自AI的消息块。

messages.ai.InputTokenDetails

输入令牌计数的详细分解。

messages.ai.OutputTokenDetails

输出令牌计数的细分。

messages.ai.UsageMetadata

消息的使用元数据,例如令牌计数。

messages.base.BaseMessage

基础抽象消息类。

messages.base.BaseMessageChunk

消息块,可以与其他消息块连接。

messages.chat.ChatMessage

可以分配任意发言者(即角色)的消息。

messages.chat.ChatMessageChunk

聊天消息块。

messages.function.FunctionMessage

用于将执行工具的结果传递回模型的消息。

messages.function.FunctionMessageChunk

函数消息块。

messages.human.HumanMessage

来自人类的消息。

messages.human.HumanMessageChunk

人类消息块。

messages.modifier.RemoveMessage

负责删除其他消息的消息。

messages.system.SystemMessage

用于引导AI行为的消息。

messages.system.SystemMessageChunk

系统消息块。

messages.tool.InvalidToolCall

允许LLM产生的错误。

messages.tool.ToolCall

表示调用工具的请求。

messages.tool.ToolCallChunk

工具调用的一部分(例如,作为流的一部分)。

messages.tool.ToolMessage

用于将执行工具的结果传递回模型的消息。

messages.tool.ToolMessageChunk

工具消息块。

messages.tool.ToolOutputMixin()

用于工具可以直接返回的对象的Mixin。

函数

messages.ai.add_ai_message_chunks(left, *others)

将多个AIMessageChunks合并在一起。

messages.ai.add_usage(left, right)

递归地添加两个UsageMetadata对象。

messages.ai.subtract_usage(left, right)

递归地减去两个UsageMetadata对象。

messages.base.get_msg_title_repr(title, *[, ...])

获取消息的标题表示。

messages.base.merge_content(first_content, ...)

合并两个消息内容。

messages.base.message_to_dict(message)

将消息转换为字典。

messages.base.messages_to_dict(messages)

将一系列消息转换为字典列表。

messages.tool.default_tool_chunk_parser(...)

尽力解析工具块。

messages.tool.default_tool_parser(raw_tool_calls)

尽力解析工具。

messages.tool.invalid_tool_call(*[, name, ...])

messages.tool.tool_call(*, name, args, id)

messages.tool.tool_call_chunk(*[, name, ...])

messages.utils.convert_to_messages(messages)

将一系列消息转换为消息列表。

messages.utils.convert_to_openai_messages(...)

将LangChain消息转换为OpenAI消息字典。

messages.utils.filter_messages([messages])

根据名称、类型或ID过滤消息。

messages.utils.get_buffer_string(messages[, ...])

将一系列消息转换为字符串并将它们连接成一个字符串。

messages.utils.merge_message_runs([messages])

合并相同类型的连续消息。

messages.utils.message_chunk_to_message(chunk)

将消息块转换为消息。

messages.utils.messages_from_dict(messages)

将一系列消息从字典转换为消息对象。

messages.utils.trim_messages([messages])

将消息修剪到低于某个标记计数。

output_parsers#

output_parsers.base.BaseGenerationOutputParser

解析LLM调用输出的基类。

output_parsers.base.BaseLLMOutputParser()

用于解析模型输出的抽象基类。

output_parsers.base.BaseOutputParser

用于解析LLM调用输出的基类。

output_parsers.json.JsonOutputParser

将LLM调用的输出解析为JSON对象。

output_parsers.json.SimpleJsonOutputParser

JsonOutputParser 的别名

output_parsers.list.CommaSeparatedListOutputParser

将LLM调用的输出解析为逗号分隔的列表。

output_parsers.list.ListOutputParser

将LLM调用的输出解析为列表。

output_parsers.list.MarkdownListOutputParser

解析一个Markdown列表。

output_parsers.list.NumberedListOutputParser

解析一个编号列表。

output_parsers.openai_functions.JsonKeyOutputFunctionsParser

将输出解析为Json对象的元素。

output_parsers.openai_functions.JsonOutputFunctionsParser

将输出解析为Json对象。

output_parsers.openai_functions.OutputFunctionsParser

解析一组值中的输出。

output_parsers.openai_functions.PydanticAttrOutputFunctionsParser

将输出解析为pydantic对象的属性。

output_parsers.openai_functions.PydanticOutputFunctionsParser

将输出解析为pydantic对象。

output_parsers.openai_tools.JsonOutputKeyToolsParser

从OpenAI响应中解析工具。

output_parsers.openai_tools.JsonOutputToolsParser

从OpenAI响应中解析工具。

output_parsers.openai_tools.PydanticToolsParser

从OpenAI响应中解析工具。

output_parsers.pydantic.PydanticOutputParser

使用 pydantic 模型解析输出。

output_parsers.string.StrOutputParser

将LLMResult解析为最可能的字符串的OutputParser。

output_parsers.transform.BaseCumulativeTransformOutputParser

用于处理流式输入的输出解析器的基类。

output_parsers.transform.BaseCumulativeTransformOutputParser[Any]

用于处理流式输入的输出解析器的基类。

output_parsers.transform.BaseTransformOutputParser

用于处理流式输入的输出解析器的基类。

output_parsers.transform.BaseTransformOutputParser[list[str]]

用于处理流式输入的输出解析器的基类。

output_parsers.transform.BaseTransformOutputParser[str]

用于处理流式输入的输出解析器的基类。

output_parsers.xml.XMLOutputParser

使用xml格式解析输出。

函数

output_parsers.list.droplastn(iter, n)

删除迭代器的最后n个元素。

output_parsers.openai_tools.make_invalid_tool_call(...)

从原始工具调用创建一个InvalidToolCall。

output_parsers.openai_tools.parse_tool_call(...)

解析单个工具调用。

output_parsers.openai_tools.parse_tool_calls(...)

解析工具调用列表。

output_parsers.xml.nested_element(path, elem)

从路径中获取嵌套元素。

outputs#

outputs.chat_generation.ChatGeneration

单个聊天生成输出。

outputs.chat_generation.ChatGenerationChunk

ChatGeneration 块,可以与其他 ChatGeneration 块连接。

outputs.chat_result.ChatResult

用于表示使用单个提示调用聊天模型的结果。

outputs.generation.Generation

单个文本生成输出。

outputs.generation.GenerationChunk

生成块,可以与其他生成块连接。

outputs.llm_result.LLMResult

用于存储LLM调用结果的容器。

outputs.run_info.RunInfo

包含Chain或模型单次执行的元数据的类。

prompt_values#

prompt_values.ChatPromptValue

聊天提示值。

prompt_values.ChatPromptValueConcrete

聊天提示值,明确列出其接受的消息类型。

prompt_values.ImagePromptValue

图像提示值。

prompt_values.ImageURL

图片URL。

prompt_values.PromptValue

任何语言模型输入的基抽象类。

prompt_values.StringPromptValue

字符串提示值。

prompts#

prompts.base.BasePromptTemplate

所有提示模板的基类,返回一个提示。

prompts.base.BasePromptTemplate[ImageURL]

所有提示模板的基类,返回一个提示。

prompts.chat.AIMessagePromptTemplate

AI 消息提示模板。

prompts.chat.BaseChatPromptTemplate

聊天提示模板的基类。

prompts.chat.BaseMessagePromptTemplate

消息提示模板的基类。

prompts.chat.BaseStringMessagePromptTemplate

使用字符串提示模板的消息提示模板的基类。

prompts.chat.ChatMessagePromptTemplate

聊天消息提示模板。

prompts.chat.ChatPromptTemplate

聊天模型的提示模板。

prompts.chat.HumanMessagePromptTemplate

人类消息提示模板。

prompts.chat.MessagesPlaceholder

假设变量已经是消息列表的提示模板。

prompts.chat.SystemMessagePromptTemplate

系统消息提示模板。

prompts.few_shot.FewShotChatMessagePromptTemplate

支持少量示例的聊天提示模板。

prompts.few_shot.FewShotPromptTemplate

包含少量示例的提示模板。

prompts.few_shot_with_templates.FewShotPromptWithTemplates

包含少量示例的提示模板。

prompts.image.ImagePromptTemplate

用于多模态模型的图像提示模板。

prompts.prompt.PromptTemplate

语言模型的提示模板。

prompts.string.StringPromptTemplate

暴露格式方法的字符串提示,返回一个提示。

prompts.structured.StructuredPrompt

函数

prompts.base.aformat_document(doc, prompt)

异步将文档格式化为基于提示模板的字符串。

prompts.base.format_document(doc, prompt)

根据提示模板将文档格式化为字符串。

prompts.loading.load_prompt(path[, encoding])

从LangChainHub或本地文件系统加载提示的统一方法。

prompts.loading.load_prompt_from_config(config)

从配置字典加载提示。

prompts.string.check_valid_template(...)

检查模板字符串是否有效。

prompts.string.get_template_variables(...)

从模板中获取变量。

prompts.string.jinja2_formatter(template, /, ...)

使用jinja2格式化模板。

prompts.string.mustache_formatter(template, ...)

使用mustache格式化模板。

prompts.string.mustache_schema(template)

从mustache模板中获取变量。

prompts.string.mustache_template_vars(template)

从mustache模板中获取变量。

prompts.string.validate_jinja2(template, ...)

验证输入变量是否对模板有效。

已弃用的类

rate_limiters#

retrievers#

retrievers.BaseRetriever

文档检索系统的抽象基类。

retrievers.LangSmithRetrieverParams

用于跟踪的LangSmith参数。

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)

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

stores#

stores.BaseStore()

键值存储的抽象接口。

stores.InMemoryBaseStore()

使用字典实现的BaseStore的内存实现。

stores.InMemoryByteStore()

用于存储字节的内存存储。

stores.InMemoryStore()

用于存储任何类型数据的内存存储。

stores.InvalidKeyException

当键无效时引发;例如,使用了不正确的字符。

structured_query#

structured_query.Comparator(value[, names, ...])

比较运算符的枚举器。

structured_query.Comparison

与值的比较。

structured_query.Expr

所有表达式的基础类。

structured_query.FilterDirective

过滤表达式。

structured_query.Operation

对其他指令的逻辑操作。

structured_query.Operator(value[, names, ...])

操作符的枚举器。

structured_query.StructuredQuery

结构化查询。

structured_query.Visitor()

定义使用访问者模式进行IR翻译的接口。

sys_info#

函数

sys_info.print_sys_info(*[, additional_pkgs])

打印环境信息以用于调试目的。

工具#

tools.base.BaseTool

LangChain工具必须实现的接口。

tools.base.BaseToolkit

基础工具包,表示一组相关工具的集合。

tools.base.InjectedToolArg()

用于标注一个应由模型生成的工具参数的注释。

tools.base.InjectedToolCallId()

用于注入 tool_call_id 的注解。

tools.base.SchemaAnnotationError

当 'args_schema' 缺失或类型注释不正确时引发。

tools.base.ToolException

工具在执行错误时抛出的可选异常。

tools.retriever.RetrieverInput

检索器的输入。

tools.simple.Tool

直接接收函数或协程的工具。

tools.structured.StructuredTool

可以在任意数量的输入上操作的工具。

函数

tools.base.create_schema_from_function(...)

从函数的签名创建一个pydantic模式。

tools.base.get_all_basemodel_annotations(cls, *)

tools.convert.convert_runnable_to_tool(runnable)

将Runnable转换为BaseTool。

tools.convert.tool()

将函数转换为工具,可以带参数或不带参数使用。

tools.render.render_text_description(tools)

以纯文本形式呈现工具名称和描述。

tools.render.render_text_description_and_args(tools)

以纯文本形式呈现工具名称、描述和参数。

tools.retriever.create_retriever_tool(...[, ...])

创建一个用于文档检索的工具。

tracers#

tracers.base.AsyncBaseTracer(*[, _schema_format])

异步基础接口用于追踪器。

tracers.base.BaseTracer(*[, _schema_format])

追踪器的基础接口。

tracers.evaluation.EvaluatorCallbackHandler(...)

每当运行被持久化时,运行评估器的追踪器。

tracers.event_stream.RunInfo

关于运行的信息。

tracers.langchain.LangChainTracer([...])

实现SharedTracer,向LangChain端点发送POST请求。

tracers.log_stream.LogEntry

运行日志中的单个条目。

tracers.log_stream.LogStreamCallbackHandler(*)

将运行日志流式传输到流的追踪器。

tracers.log_stream.RunLog(*ops, state)

运行日志。

tracers.log_stream.RunLogPatch(*ops)

运行日志的补丁。

tracers.log_stream.RunState

运行状态。

tracers.root_listeners.AsyncRootListenersTracer(*, ...)

异步追踪器,在运行开始、结束和出错时调用监听器。

tracers.root_listeners.RootListenersTracer(*, ...)

在运行开始、结束和错误时调用监听器的追踪器。

tracers.run_collector.RunCollectorCallbackHandler([...])

收集所有嵌套运行的追踪器。

tracers.stdout.ConsoleCallbackHandler(**kwargs)

将输出打印到控制台的追踪器。

tracers.stdout.FunctionCallbackHandler(...)

调用带有单个字符串参数的函数的追踪器。

函数

tracers.context.collect_runs()

收集上下文中的所有运行轨迹。

tracers.context.register_configure_hook(...)

注册一个配置钩子。

tracers.context.tracing_enabled([session_name])

抛出一个错误,因为此功能已被 tracing_v2_enabled 取代。

tracers.context.tracing_v2_enabled([...])

指示 LangChain 将所有上下文中的运行记录到 LangSmith。

tracers.evaluation.wait_for_all_evaluators()

等待所有追踪器完成。

tracers.langchain.get_client()

获取客户端。

tracers.langchain.log_error_once(method, ...)

记录一次错误。

tracers.langchain.wait_for_all_tracers()

等待所有追踪器完成。

tracers.langchain_v1.LangChainTracerV1(...)

抛出一个错误,因为这已被 LangChainTracer 替换。

tracers.langchain_v1.get_headers(*args, **kwargs)

抛出一个错误,因为此功能已被 get_headers 替换。

tracers.stdout.elapsed(run)

获取运行的耗时。

tracers.stdout.try_json_stringify(obj, fallback)

尝试将对象转换为JSON字符串。

已弃用的类

已弃用的函数

utils#

utils.aiter.NoLock()

提供正确接口但不提供保护的虚拟锁。

utils.aiter.Tee(iterable[, n, lock])

创建 n 个独立的异步迭代器,基于 iterable

utils.aiter.aclosing(thing)

用于安全地完成异步清理资源(如异步生成器)的异步上下文管理器,调用其 aclose() 方法。

utils.aiter.atee

Tee 的别名

utils.formatting.StrictFormatter()

检查额外键的格式化程序。

utils.function_calling.FunctionDescription

表示一个可调用函数,用于发送给LLM。

utils.function_calling.ToolDescription

表示一个可调用函数到OpenAI API。

utils.iter.NoLock()

提供正确接口但不提供保护的虚拟锁。

utils.iter.Tee(iterable[, n, lock])

创建 n 个独立的异步迭代器,基于 iterable

utils.iter.safetee

Tee 的别名

utils.mustache.ChevronError

Chevron 错误的自定义异常。

函数

utils.aiter.abatch_iterate(size, iterable)

用于异步可迭代对象的实用批处理函数。

utils.aiter.py_anext(iterator[, default])

用于测试目的的anext()的纯Python实现。

utils.aiter.tee_peer(iterator, buffer, ...)

tee() 的单个迭代器。

utils.env.env_var_is_set(env_var)

检查环境变量是否已设置。

utils.env.get_from_dict_or_env(data, key, ...)

从字典或环境变量中获取一个值。

utils.env.get_from_env(key, env_key[, default])

从字典或环境变量中获取值。

utils.function_calling.convert_to_openai_function(...)

将原始函数/类转换为OpenAI函数。 :param function: 一个字典、Pydantic BaseModel类、TypedDict类、LangChain工具对象或Python函数。如果传入的是字典,则假定它已经是有效的OpenAI函数、具有顶级'title'键的JSON模式、Anthropic格式工具或Amazon Bedrock Converse格式工具。 :param strict: 如果为True,模型输出将严格匹配函数定义中提供的JSON模式。如果为None,strict参数将不会包含在函数定义中。

utils.function_calling.convert_to_openai_tool(tool, *)

将一个类似工具的对象转换为OpenAI工具模式。

utils.function_calling.tool_example_to_messages(...)

utils.html.extract_sub_links(raw_html, url, *)

从原始HTML字符串中提取所有链接并将其转换为绝对路径。

utils.html.find_all_links(raw_html, *[, pattern])

从原始HTML字符串中提取所有链接。

utils.input.get_bolded_text(text)

获取加粗文本。

utils.input.get_color_mapping(items[, ...])

获取项目到支持颜色的映射。

utils.input.get_colored_text(text, color)

获取带颜色的文本。

utils.input.print_text(text[, color, end, file])

打印带有高亮且无结束字符的文本。

utils.interactive_env.is_interactive_env()

确定是否在IPython或Jupyter中运行。

utils.iter.batch_iterate(size, iterable)

实用批处理函数。

utils.iter.tee_peer(iterator, buffer, peers, ...)

tee() 的单个迭代器。

utils.json.parse_and_check_json_markdown(...)

从Markdown字符串中解析JSON字符串并检查其是否包含预期的键。

utils.json.parse_json_markdown(json_string, *)

从Markdown字符串中解析JSON字符串。

utils.json.parse_partial_json(s, *[, strict])

解析可能缺少闭合括号的JSON字符串。

utils.json_schema.dereference_refs(schema_obj, *)

尝试替换JSON Schema中的$refs。

utils.mustache.grab_literal(template, l_del)

从模板中解析一个文字。

utils.mustache.l_sa_check(template, literal, ...)

进行初步检查以查看标签是否可以是独立的。

utils.mustache.parse_tag(template, l_del, r_del)

从模板中解析标签。

utils.mustache.r_sa_check(template, ...)

进行最终检查,以查看标签是否可以独立存在。

utils.mustache.render([template, data, ...])

渲染一个mustache模板。

utils.mustache.tokenize(template[, ...])

对mustache模板进行分词。

utils.pydantic.create_model(__model_name[, ...])

使用给定的字段定义创建一个pydantic模型。

utils.pydantic.create_model_v2(model_name, *)

使用给定的字段定义创建一个pydantic模型。

utils.pydantic.get_fields()

获取Pydantic模型的字段名称。

utils.pydantic.get_pydantic_major_version()

获取Pydantic的主版本号。

utils.pydantic.is_basemodel_instance(obj)

检查给定的类是否是Pydantic BaseModel的实例。

utils.pydantic.is_basemodel_subclass(cls)

检查给定的类是否是Pydantic BaseModel的子类。

utils.pydantic.is_pydantic_v1_subclass(cls)

检查安装的Pydantic版本是否为1.x版本。

utils.pydantic.is_pydantic_v2_subclass(cls)

检查安装的Pydantic版本是否为1.x版本。

utils.pydantic.pre_init(func)

用于在模型初始化之前运行函数的装饰器。

utils.strings.comma_list(items)

将列表转换为逗号分隔的字符串。

utils.strings.stringify_dict(data)

将字典转换为字符串。

utils.strings.stringify_value(val)

将值转换为字符串。

utils.utils.build_extra_kwargs(extra_kwargs, ...)

从值和extra_kwargs构建额外的kwargs。

utils.utils.check_package_version(package[, ...])

检查包的版本。

utils.utils.convert_to_secret_str(value)

如果需要,将字符串转换为SecretStr。

utils.utils.from_env()

创建一个工厂方法,从环境变量中获取值。

utils.utils.get_pydantic_field_names(...)

获取pydantic类的字段名称,包括别名。

utils.utils.guard_import(module_name, *[, ...])

动态导入一个模块,如果模块未安装则抛出异常。

utils.utils.mock_now(dt_value)

用于在单元测试中模拟 datetime.now() 的上下文管理器。

utils.utils.raise_for_status_with_text(response)

使用响应文本引发错误。

utils.utils.secret_from_env()

从环境变量中获取密钥。

utils.utils.xor_args(*arg_groups)

验证指定的关键字参数是互斥的。

已弃用的函数

vectorstores#

vectorstores.base.VectorStore()

向量存储的接口。

vectorstores.base.VectorStoreRetriever

VectorStore 的基础检索器类。

vectorstores.in_memory.InMemoryVectorStore(...)

内存中的向量存储实现。

函数

vectorstores.utils.maximal_marginal_relevance(...)

计算最大边际相关性。