utils#

实用函数 用于 LangChain。

这些函数不依赖于任何其他LangChain模块。

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)

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

已弃用的函数