langchain_experimental
0.0.64¶
langchain_experimental.agents
¶
智能代理是一个使用大型语言模型(LLM)来选择执行动作序列的类。
在Chains中,动作序列是硬编码的。在智能代理中,使用语言模型作为推理引擎来确定要执行的哪些动作以及它们的顺序。
智能代理选择和使用用于执行动作的工具和工具集。
函数¶
通过将CSV加载到数据框中创建一个Pandas智能代理。 |
|
|
从LLM和数据框中构建一个Pandas智能代理。 |
从LLM和工具构建Python代理。 |
|
|
从LLM和数据框中构建一个Spark代理。 |
|
从LLM和数据框中构建一个Xorbits代理。 |
¶
在Langchain实验包中的自主代理包括[AutoGPT](https://github.com/Significant-Gravitas/AutoGPT)、[BabyAGI](https://github.com/yoheinakajima/babyagi)和[HuggingGPT](https://arxiv.org/abs/2303.17580),它们可以自主地与语言模型进行交互。
这些代理具有特定的功能,如内存管理、任务创建、执行链和响应生成。
它们与普通代理不同的地方在于它们的自主决策能力、内存处理以及针对任务和响应的专用功能。
类¶
用于与AutoGPT交互的代理。 |
|
AutoGPT的内存。 |
|
AutoGPTOutputParser返回的动作。 |
|
AutoGPT的输出解析器。 |
|
|
AutoGPT的基础输出解析器。 |
AutoGPT的提示。 |
|
|
自定义提示字符串的生成器。 |
BabyAGI代理的控制器模型。 |
|
生成任务的链。 |
|
|
执行任务的链。 |
|
优先处理任务的链。 |
用于与HuggingGPT交互的代理。 |
|
|
执行任务的链。 |
|
基于输入生成响应的生成器。 |
要执行的任务。 |
|
|
加载工具并执行任务。 |
规划器的基础类。 |
|
执行计划。 |
|
|
解析规划阶段输出。 |
计划中的一个步骤。 |
|
执行任务的链。 |
|
任务编排器。 |
函数¶
|
预处理字符串以便将其解析为JSON。 |
生成提示字符串。 |
|
|
加载响应生成器。 |
|
加载聊天规划器。 |
langchain_experimental.chat_models
¶
聊天模型是语言模型的一种变体。
虽然聊天模型在底层使用语言模型,但它们暴露的接口略有不同。它们不是暴露“文本输入,文本输出”API,而是暴露一个“聊天消息”是输入和输出的接口。
类层次结构
BaseLanguageModel --> BaseChatModel --> <name> # Examples: ChatOpenAI, ChatGooglePalm
主要辅助工具
AIMessage, BaseMessage, HumanMessage
类¶
聊天LLM的包装器。 |
|
Llama-2-chat模型的包装器。 |
|
见https://hugging-face.cn/mistralai/Mixtral-8x7B-Instruct-v0.1#instruction-format |
|
Orca风格模型的包装器。 |
|
Vicuna风格模型的包装器。 |
langchain_experimental.comprehend_moderation
¶
理解适度用于检测和处理文本文档中的《个人身份信息(PII)》、《毒性》和《提示安全性》。
Langchain实验包包括用于理解适度任务的《AmazonComprehendModerationChain》类。它基于《Amazon Comprehend》服务。该类可以用如PII标签、编辑、毒性阈值和提示安全性阈值等特定适度设置进行配置。
更多信息请见https://aws.amazon.com/comprehend/
《Amazon Comprehend》服务由其他几个类使用: - 《ComprehendToxicity》类用于使用《AWS Comprehend服务》检查文本提示的毒性,并根据配置采取行动
《AWS Comprehend服务》
《ComprehendPromptSafety》类用于验证给定提示文本的安全性,如果根据指定阈值检测到不安全内容,则引发错误
ComprehendPII 类旨在处理 个人信息(PII) 审查任务,检测和管理文本输入中的 PII 实体
类¶
langchain_experimental.cpal
¶
因果程序辅助语言(CPAL) 是在 LangChain 中作为因果建模和叙事分解链实现的概念。
CPAL 通过结合因果结构来改进程序辅助语言(PAL),以防止在语言模型中发生幻觉,尤其是在处理具有嵌套依赖的复杂叙事和数学问题时。
CPAL 包括将因果叙事转换为操作堆栈,为因果模型设置假设条件以及将叙事分解为故事元素。
它允许创建因果链,定义叙事中不同元素之间的关系,使得在给定上下文中可以建模和分析因果关系。
类¶
因果程序辅助语言(CPAL)链实现。 |
|
将因果叙事转换为操作堆栈。 |
|
为因果模型设置假设条件。 |
|
将叙事分解为其故事元素。 |
|
使用 SQL 查询结果表。 |
|
|
CPAL 中使用的常量枚举。 |
因果数据。 |
|
故事中的实体。 |
|
实体初始条件。 |
|
故事干预数据,即初始条件。 |
|
以三个故事元素作为叙事输入。 |
|
故事查询数据。 |
|
故事查询的结果。 |
|
故事数据。 |
|
系统初始条件。 |
langchain_experimental.data_anonymizer
¶
数据匿名化器 包含了匿名化和去匿名化器。它使用 [Microsoft Presidio](https://microsoft.github.io/presidio/) 库。
匿名化器 用于通过应用某个操作(例如替换、掩码、删除、加密)将 个人可识别信息 (PII) 实体文本替换为某个其他值。
去匿名化器 用于恢复匿名化操作(例如解密加密文本)。
类¶
匿名化器的基抽象类。 |
|
可逆匿名化器的基抽象类。 |
|
|
去匿名化器映射。 |
使用微软 Presidio 的匿名化器。 |
|
使用微软 Presidio 的基匿名化器。 |
|
|
使用微软 Presidio 的可逆匿名化器。 |
函数¶
|
创建或更新用于匿名化和/或 |
|
使用计数格式化操作名称。 |
|
针对去匿名化的不区分大小写的匹配策略。 |
|
针对去匿名化的精确和模糊匹配策略。 |
|
针对去匿名化的精确匹配策略。 |
|
针对去匿名化的模糊匹配策略。 |
|
针对去匿名化的n-gram模糊匹配策略。 |
|
获取到伪匿名化实体的实体映射。 |
langchain_experimental.fallacy_removal
¶
谬误消除 链运行逻辑谬误的自我审查,这些谬误由论文 [Robust and Explainable Identification of Logical Fallacies in Natural Language Arguments](https://arxiv.org/pdf/2212.07425.pdf) 确定。它模仿 宪政 AI,具有相同的格式,但将逻辑谬误视为通用规则,用于在输出中删除它们。
类¶
应用逻辑谬误评估的链。 |
|
逻辑谬误。 |
langchain_experimental.generative_agents
¶
生成式智能体 基本功能。
类¶
具有记忆和固有特性的角色型智能体。 |
|
生成式智能体的内存。 |
langchain_experimental.graph_transformers
¶
图转换器 将文档转换为图文档。
类¶
使用 Diffbot NLP API 将文档转换为图文档。 |
|
具有相关属性的节点列表。 |
|
简化方案映射。 |
|
一个枚举。 |
|
一个转换器类,用于使用 GLiNER 和 GLiREL 模型将文档转换为图结构。 |
|
使用 LLM 将文档转换为基于图的文档。 |
|
通过解析和验证来自关键字参数的输入数据来创建新模型。 |
|
一个转换器类,用于使用 Relik 库和模型将文档转换为图结构。 |
函数¶
格式化字符串用作属性键。 |
|
创建一个具有可选节点和关系类型约束的简单图模型。 |
|
将 SimpleNode 映射到基础 Node。 |
|
将 SimpleRelationship 映射到基础 Relationship。 |
|
条件创建具有枚举约束的字段的实用函数。 |
langchain_experimental.llm_bash
¶
LLM bash 是使用 LLM 解析提示并执行 bash 代码的链。
类¶
解析提示并执行 bash 操作的链。 |
|
|
启动子进程的包装器。 |
bash 输出的解析器。 |
langchain_experimental.llm_symbolic_math
¶
解析提示并执行 Python 代码进行数学运算 的链。
大量借鉴自 llm_math,使用 [SymPy](https://www.sympy.cn/) 库。
类¶
解析提示并执行 Python 代码进行符号数学的链。 |
langchain_experimental.llms
¶
实验性 LLM 类提供访问大型语言模型 (LLM) API 和服务。
类¶
工具标签的解析器。 |
|
使用 HuggingFace Pipeline API 包装的 Jsonformer LLM。 |
|
使用 Llama API 的聊天模型。 |
|
使用 HuggingFace Pipeline API 包装的 LMFormatEnforcer LLM。 |
|
使用 HuggingFace Pipeline API 包装的 RELLM LLM。 |
函数¶
懒加载 jsonformer 包。 |
|
懒加载 lmformatenforcer 包。 |
|
将工具转换为 Ollama 工具。 |
|
|
从 AIMessage 中提取 function_call。 |
懒加载 rellm 包。 |
已弃用类¶
从版本 0.0.54 弃用: 改用 |
|
从版本 0.0.64 弃用: 改用 |
langchain_experimental.open_clip
¶
OpenCLIP 嵌入 模型。
OpenCLIP 是一个多模式模型,可以将文本和图像编码到共享空间。
参阅以下论文了解更多细节:[https://arxiv.org/abs/2103.00020](https://arxiv.org/abs/2103.00020) 以及[此仓库](https://github.com/mlfoundations/open_clip)获取详细信息。
类¶
OpenCLIP Embeddings 模型。 |
langchain_experimental.pal_chain
¶
PAL Chain实现了程序辅助语言模型。
参阅论文:[https://arxiv.org/pdf/2211.10435.pdf](https://arxiv.org/pdf/2211.10435.pdf)
此链易受[任意代码执行](https://github.com/langchain-ai/langchain/issues/5872)攻击。
类¶
实现程序辅助语言模型(PAL)的链。 |
|
|
对PAL生成代码进行的验证。 |
langchain_experimental.plan_and_execute
¶
计划和执行代理使用语言模型(LLM)进行计划任务,并使用单独的代理进行执行。
类¶
计划和执行一系列步骤。 |
|
基执行器。 |
|
链执行器。 |
|
基规划器。 |
|
LLM 规划器。 |
|
计划输出解析器。 |
|
基步骤容器。 |
|
步骤列表容器。 |
|
计划。 |
|
计划输出解析器。 |
|
步骤。 |
|
步骤响应。 |
函数¶
|
加载代理执行器。 |
|
加载聊天规划器。 |
langchain_experimental.prompt_injection_identifier
¶
HuggingFace 注入识别器是使用[HuggingFace Prompt 注入模型](https://hugging-face.cn/deepset/deberta-v3-base-injection)来检测提示注入攻击的工具。
类¶
|
使用 HuggingFace Prompt 注入模型来检测提示注入攻击的工具。 |
|
检测到提示注入攻击时抛出的异常。 |
langchain_experimental.recommenders
¶
Amazon Personalize 基本元素。
[亚马逊个性化推荐](https://docs.aws.amazon.com/personalize/latest/dg/what-is-personalize.html) 是一项全面管理的机器学习服务,利用您的数据为您用户生成商品推荐。
类¶
Amazon Personalize 运行时包装器,用于执行实时操作。 |
|
|
用于从 Amazon Personalize 获取推荐的链。 |
langchain_experimental.retrievers
¶
检索器 类根据文本 查询 返回文档。
它比向量存储更通用。检索器不需要能够存储文档,只需要能够返回(或检索)它。
类¶
|
使用向量 SQL 数据库的检索器。 |
langchain_experimental.rl_chain
¶
强化学习 (RL) 链 利用 vowpal wabbit (VW) 模型进行强化学习,旨在修改 LLM 调用前的提示。
[Vowpal Wabbit](https://vowpalwabbit.org/) 提供了强化学习、监督学习以及更多在线机器学习技术的快速、高效和灵活的技术。
类¶
自动选择评分器。 |
|
|
代表嵌入器的抽象类。 |
|
表示事件的抽象类。 |
|
表示策略的抽象类。 |
使用 Vowpal Wabbit (VW) 模型作为学习策略的强化学习链。 |
|
表示所选项目的抽象类。 |
|
表示所选选择或 LLM 响应的评分的抽象类。 |
|
|
Vowpal Wabbit 策略。 |
度量跟踪平均。 |
|
移动窗口度量跟踪。 |
|
模型仓库。 |
|
一个利用Vowpal Wabbit (VW)模型进行增强学习(具有上下文)的链条,旨在修改LLM调用之前的提示。 |
|
为PickBest链条的事件类。 |
|
将< cite>BasedOn cite>和< cite>ToSelectFrom cite>输入嵌入到可以由学习策略使用的格式。 |
|
为PickBest链条的随机策略。 |
|
为PickBest链条的选定类。 |
|
Vowpal Wabbit自定义记录器。 |
函数¶
|
包装一个值以指示它应该是基于什么。 |
|
包装一个值以指示它应该是嵌入的。 |
包装一个值以指示它应该是嵌入并保留的。 |
|
包装一个值以指示它应该是从中选择的。 |
|
|
使用SentenceTransformer模型(或具有< cite>encode cite>功能的模型)嵌入动作或上下文。 |
|
嵌入字典项。 |
|
嵌入列表项目。 |
|
嵌入字符串或_Embed对象。 |
从输入中获取BasedOn和ToSelectFrom。 |
|
检查一个项是否为字符串。 |
|
|
将输入字符串解析为示例列表。 |
准备输入以进行自动嵌入。 |
|
|
将嵌入转换为字符串。 |
langchain_experimental.smart_llm
¶
SmartGPT 链正在使用 SmartGPT 工作流程应用自评。
详情请见 https://youtu.be/wVzuvf9D9BU
该工作流程执行以下 3 个步骤:1. 构思:将用户提示传递给 构思型 LLM n_ideas 次,
每个结果是一个“构思”
评估:将构思传递给一个寻找构思局限性的 评估型 LLM 并选择最佳一个
解决:将评估结果传递给一个 解决问题型 LLM,以优化最佳构思并仅输出(改进后的)最佳输出
总而言之,SmartGPT 工作流程将使用 n_ideas+2 次 LLM 调用
请注意,当底层模型具有反思能力时(较小的模型通常不具备该能力),SmartLLMChain 才会改善结果(与基本的 LLMChain 相比)。
最后,SmartLLMChain 假设每个底层 LLM 都会输出确切的结果。
类¶
用于应用 SmartGPT 工作流程进行自评的链。 |
langchain_experimental.sql
¶
SQL 链 与 SQL 数据库交互。
类¶
用于与 SQL 数据库交互的链。 |
|
用于查询SQL数据库的序链条。 |
|
用于与向量 SQL 数据库交互的链。 |
|
向量 SQL 的输出解析器。 |
|
基于 VectorSQLOutputParser 的解析器。 |
函数¶
|
从 SQL 数据库获取结果。 |
langchain_experimental.tabular_synthetic_data
¶
使用 LLM 和少样本模板生成 表格合成数据。
类¶
使用给定的 LLM 和少样本模板生成合成数据。 |
函数¶
|
创建针对 OpenAI 模型定制的 SyntheticDataGenerator 实例。 |
langchain_experimental.text_splitter
¶
基于语义相似性的实验性文本分割器。
类¶
|
根据语义相似性分割文本。 |
函数¶
计算句子之间的余弦距离。 |
|
|
根据缓冲区大小合并句子。 |
langchain_experimental.tools
¶
实验性 Python REPL 工具。
类¶
REPL 中运行 Python 代码的工具。 |
|
Python 输入。 |
|
REPL 中运行 Python 代码的工具。 |
函数¶
对 Python REPL 的输入进行清理。 |
langchain_experimental.tot
¶
基于论文[《大型语言模型指导的Thought Tree》](https://arxiv.org/pdf/2305.08291.pdf)实现的一个 Thought Tree (ToT) 链。
Thought Tree (ToT) 链使用树结构来探索问题的可能解决方案空间。
类¶
实现 Thought Tree (ToT) 的链。 |
|
Thought Tree (ToT) 检查器。 |
|
Thought Tree (ToT) 控制器。 |
|
|
Thought Tree (ToT) 链的内存。 |
解析和检查语言模型的输出。 |
|
解析 PROPOSE_PROMPT 响应的输出。 |
|
Thought Tree 中的一个想法。 |
|
|
表示想法有效性的枚举。 |
思想生成策略的基类。 |
|
串行使用 "propose prompt" 的策略。 |
|
从 Chain-of-Thought (CoT) 提示中采样策略。 |
函数¶
获取 Chain of Thought (CoT) 链的提示。 |
|
获取 PROPOSE_PROMPT 链的提示信息。 |
langchain_experimental.utilities
(常数)
模拟独立的 Python REPL 工具。
类(段落)
模拟独立的 Python REPL。 |