langchain_experimental
0.0.59¶
langchain_experimental.agents
¶
Agent 是一个使用LLM来选择一系列动作的类。
在Chains中,一系列动作是硬编码的。在Agents中,使用语言模型作为推理引擎来确定要采取哪些动作以及以何种顺序。
Agents选择并使用 工具 和 工具包 来执行动作。
Functions¶
创建pandas dataframe代理,通过加载csv到数据框中。 |
|
|
从LLM和数据框构建一个Pandas代理。 |
从LLM和工具构建一个Python代理 |
|
|
从LML和数据框构建一个Spark代理。 |
|
从LML和数据框构建一个xorbits代理。 |
langchain_experimental.autonomous_agents
¶
Langchain实验包中的 自主代理 包括[AutoGPT](https://github.com/Significant-Gravitas/AutoGPT)、[BabyAGI](https://github.com/yoheinakajima/babyagi)和[HuggingGPT](https://arxiv.org/abs/2303.17580)代理,它们能够自主与语言模型进行交互。
这些代理具有特定的功能,如内存管理、任务创建、执行链和响应生成。
它们通过自主决策能力、内存处理以及针对任务和响应的专门功能与普通代理有所不同。
Classes¶
与AutoGPT进行交互的代理。 |
|
AutoGPT的内存。 |
|
AutoGPTOutputParser返回的操作。 |
|
AutoGPT的输出解析器。 |
|
|
AutoGPT的基本输出解析器。 |
AutoGPT的提示。 |
|
|
自定义提示字符串的生成器。 |
BabyAGI代理的控制器模型。 |
|
生成任务链。 |
|
|
用于执行任务的链式调用。 |
|
链式任务优先级。 |
用于与HuggingGPT进行交互的代理程序。 |
|
|
用于执行任务的链。 |
|
根据输入生成一个响应。 |
需要执行的任务。 |
|
|
加载工具并执行任务。 |
规划器的基类。 |
|
一个执行的计划。 |
|
|
解析规划阶段的输出。 |
计划中的一步。 |
|
用于执行任务的链。 |
|
任务规划器。 |
Functions¶
|
预处理字符串以便解析为json。 |
|
生成一个提示字符串。 |
|
加载 ResponseGenerator 模块。 |
|
加载聊天计划。 |
langchain_experimental.chat_models
¶
聊天模型 是语言模型的一种变体。
虽然聊天模型在内部使用语言模型,但它们暴露的接口有些不同。与暴露“输入文本,输出文本”的API不同,它们暴露了一个接口,其中“聊天消息”是输入和输出。
类层次结构:
BaseLanguageModel --> BaseChatModel --> <name> # 例如: ChatOpenAI, ChatGooglePalm
主要辅助功能:
AIMessage, BaseMessage, HumanMessage
Classes¶
聊天LLMs的包装器。 |
|
Llama-2-chat模型的包装器。 |
|
查看 https://huggingface.co/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服务`检查文本提示的有害性,并根据配置采取行动 - ComprehendPromptSafety 类用于验证给定提示文本的安全性,如果根据指定的阈值检测到不安全内容,则引发错误 - ComprehendPII 类旨在处理`个人身份信息(PII)`审查任务,检测和管理文本输入中的PII实体
Classes¶
langchain_experimental.cpal
¶
因果程序辅助语言(CPAL) 是LangChain中实现的一个概念,用作因果建模和叙事分解的链。
CPAL通过将因果结构纳入程序辅助语言( PAL )来改进,以防止语言模型在处理复杂叙事和具有嵌套依赖关系的数学问题时出现幻觉。
CPAL涉及将因果叙事转化为一系列操作,为因果模型设定假设条件,并将叙事分解为故事元素。
它允许创建定义叙事中不同元素之间关系的因果链,从而在给定上下文中实现因果关系的建模和分析。
Classes¶
实施因果程序辅助语言(CPAL)链。 |
|
将因果关系叙述转化为一系列操作。 |
|
设置因果模型的假设条件。 |
|
将叙述分解为其故事要素。 |
|
使用SQL查询结果表。 |
|
|
CPAL中使用的常量的枚举。 |
临时数据。 |
|
故事中的实体。 |
|
实体的初始条件。 |
|
故事的干预数据,也称为初始条件。 |
|
将故事要素作为叙述输入。 |
|
查询故事的数据。 |
|
故事查询的结果。 |
|
故事数据。 |
|
系统初始条件。 |
langchain_experimental.data_anonymizer
¶
数据匿名化器 包含匿名化器和去匿名化器。它使用 [Microsoft Presidio](https://microsoft.github.io/presidio/) 库。
匿名化器 用于通过应用特定操作符(例如替换、掩码、删除、加密)将“个人身份信息(PII)”实体文本替换为其他值。
去匿名化器 用于恢复匿名化操作(例如解密加密文本)。
Classes¶
用于匿名化的基础抽象类。 |
|
可逆匿名化器的基础抽象类。 |
|
|
Deanonymizer映射。 |
使用Microsoft Presidio的匿名化工具。 |
|
Base 使用Microsoft Presidio的匿名化工具。 |
|
|
Reversible 使用Microsoft Presidio的匿名化工具。 |
Functions¶
|
创建或更新用于匿名化和/或去匿名化文本的映射。 |
|
使用计数格式化运算符名称。 |
|
不区分大小写的去匿名化匹配策略。 |
|
组合精确匹配和模糊匹配策略用于去匿名化。 |
|
用于去匿名化的精确匹配策略。 |
|
模糊匹配策略用于去匿名化。 |
|
N-gram模糊匹配策略用于去匿名化。 |
|
获取一个实体到伪匿名化的映射。 |
langchain_experimental.fallacy_removal
¶
谬误移除 链运行逻辑谬误的自我审查,由论文确定 [Robust and Explainable Identification of Logical Fallacies in Natural Language Arguments](https://arxiv.org/pdf/2212.07425.pdf)。 它的模型类似于 Constitutional AI,采用相同的格式,但应用逻辑谬误作为广义规则来在输出中移除它们。
Classes¶
适用于逻辑谬误评估的链条。 |
|
逻辑谬误。 |
langchain_experimental.generative_agents
¶
生成代理 原语。
Classes¶
代理作为一个具有记忆和内在特征的角色。 |
|
生成代理的内存。 |
langchain_experimental.graph_transformers
¶
图形转换器 将文档转换为图形文档。
Classes¶
将文档使用Diffbot NLP API转换为图文档。 |
|
具有关联属性的节点列表。 |
|
简化模式映射。 |
|
将文档转换为基于图的文档,使用LLM。 |
|
Create a new model by parsing and validating input data from keyword arguments. |
Functions¶
将字符串格式化为属性键使用。 |
|
简单模型允许限制节点和/或关系类型。 没有任何节点或关系属性。 |
|
将SimpleNode映射到基本Node。 |
|
将SimpleRelationship映射到基本Relationship。 |
|
条件性地创建带有枚举约束的字段的实用函数。 |
langchain_experimental.llm_bash
¶
LLM bash 是一个使用LLM来解释提示并执行 bash 代码的链。
Classes¶
解释并执行bash操作的链。 |
|
|
包装器,用于启动子进程。 |
Bash输出的解析器。 |
langchain_experimental.llm_symbolic_math
¶
解释一个提示并 执行Python代码进行数学运算 的链式。
大量借鉴自`llm_math`,使用了[SymPy](https://www.sympy.org/)包。
Classes¶
解释一个提示并执行Python代码来进行符号数学运算的链条。 |
langchain_experimental.llms
¶
实验性的 LLM 类提供对大型语言模型( LLM )API和服务的访问。
Classes¶
[Deprecated] 与Anthropic功能进行交互的聊天模型。 |
|
工具标签的解析器。 |
|
Jsonformer使用HuggingFace Pipeline API封装了LLM。 |
|
使用Llama API的聊天模型。 |
|
LMFormatEnforcer使用HuggingFace Pipeline API对LLM进行了封装。 |
|
使用Ollama API 的聊天模型函数。 |
|
使用HuggingFace Pipeline API 封装的 RELLM 模型。 |
Functions¶
懒加载导入jsonformer包。 |
|
懒加载lmformatenforcer包。 |
|
将工具转换为 Ollama 工具。 |
|
|
从`AIMessage`中提取`function_call`。 |
懒加载导入rellm包。 |
langchain_experimental.open_clip
¶
OpenCLIP嵌入 模型。
OpenCLIP是一个可以将文本和图像编码到共享空间的多模态模型。
有关更多详细信息,请参阅此论文:https://arxiv.org/abs/2103.00020 和[此存储库](https://github.com/mlfoundations/open_clip)获取详细信息。
Classes¶
OpenCLIP嵌入模型。 |
langchain_experimental.pal_chain
¶
PAL Chain 实现了 Program-Aided Language 模型。
查看论文:https://arxiv.org/pdf/2211.10435.pdf。
该链存在[任意代码执行](https://github.com/langchain-ai/langchain/issues/5872)的漏洞。
Classes¶
实现了程序辅助语言模型(PAL)的链。 |
|
|
用于PAL生成代码的验证。 |
langchain_experimental.plan_and_execute
¶
计划和执行代理 使用语言模型(LLM)规划任务,并使用单独的代理执行它们。
Classes¶
计划并执行一系列步骤。 |
|
基础执行器。 |
|
链式执行器。 |
|
基础规划器。 |
|
LLM规划器。 |
|
规划输出解析器。 |
|
基本步骤容器。 |
|
步骤列表的容器。 |
|
计划。 |
|
计划输出解析器。 |
|
步骤。 |
|
阶跃响应。 |
Functions¶
|
加载一个代理执行器。 |
|
加载一个聊天规划器。 |
langchain_experimental.prompt_injection_identifier
¶
HuggingFace注入标识符 是一个工具,它使用[HuggingFace提示注入模型](https://huggingface.co/deepset/deberta-v3-base-injection) 来检测提示注入攻击。
Classes¶
|
使用HuggingFace Prompt Injection模型来检测提示注入攻击的工具。 |
|
检测到提示注入攻击时引发的异常。 |
langchain_experimental.recommenders
¶
Amazon Personalize 原语。
[Amazon Personalize](https://docs.aws.amazon.com/personalize/latest/dg/what-is-personalize.html) 是一项完全托管的机器学习服务,利用您的数据为用户生成物品推荐。
Classes¶
Amazon Personalize Runtime是用于执行实时操作的包装器。 |
|
|
Amazon Personalize的推荐检索和总结链。 |
langchain_experimental.retrievers
¶
Retriever(检索器) 类根据文本 query(查询) 返回文档。
它比向量存储更通用。检索器不需要能够存储文档,只需返回(或检索)文档即可。
Classes¶
|
使用Vector SQL数据库的检索器。 |
langchain_experimental.rl_chain
¶
RL(强化学习)链 利用`Vowpal Wabbit(VW)`模型进行带上下文的强化学习,其目标是在LLM调用之前修改提示。
[Vowpal Wabbit](https://vowpalwabbit.org/) 提供了快速、高效、灵活的在线机器学习技术,用于强化学习、监督学习等。
Classes¶
自动选择评分器。 |
|
|
用于表示嵌入器的抽象类。 |
|
表示事件的抽象类。 |
|
表示策略的抽象类。 |
利用Vowpal Wabbit(VW)模型作为强化学习的学习策略的链条。 |
|
用于表示所选项目的抽象类。 |
|
用于对所选选择或llm的响应进行评分的抽象类。 |
|
|
Vowpal Wabbit策略。 |
指标跟踪器平均值。 |
|
指标跟踪滚动窗口。 |
|
模型仓库. |
|
利用Vowpal Wabbit(VW)模型进行强化学习的链,带有上下文,旨在在LLM调用之前修改提示。 |
|
PickBest链的事件类。 |
|
将`BasedOn`和`ToSelectFrom`输入嵌入到可以被学习策略使用的格式中。 |
|
PickBest链的随机策略。 |
|
选择用于PickBest链的类。 |
|
Vowpal Wabbit自定义日志记录器。 |
Functions¶
|
将一个值包装起来,表示它应该是基于某种条件的。 |
|
将一个值包装起来,以指示它应该被嵌入。 |
|
将一个值包装起来,以指示它应该被嵌入和保留。 |
|
将一个值包装起来,以指示它应该被选择。 |
|
使用SentenceTransformer模型(或具有`encode`函数的模型)嵌入动作或上下文。 |
|
嵌入一个字典项。 |
|
嵌入一个列表项。 |
|
嵌入一个字符串或一个_Embed对象。 |
从输入中获取BasedOn和ToSelectFrom。 |
|
检查一个项目是否为字符串。 |
|
|
将输入字符串解析为示例列表。 |
准备自动嵌入的输入。 |
|
|
将嵌入转换为字符串。 |
langchain_experimental.smart_llm
¶
SmartGPT 链正在使用`SmartGPT`工作流进行自我批评。
在https://youtu.be/wVzuvf9D9BU中查看详细信息
该工作流执行以下3个步骤: 1. 构思 :将用户提示传递给`Ideation LLM` n_ideas次,每个结果都是一个“想法” 2. 批判 :将这些想法传递给`Critique LLM`,该模型会寻找想法中的缺陷并选择最佳想法 3. 解决 :将批评传递给`Resolver LLM`,该模型会改进最佳想法并仅输出(改进后的)最佳输出
总的来说,SmartGPT工作流将使用n_ideas+2次LLM调用
请注意,只有当基础模型具有反思能力时,SmartLLMChain才会改进结果(与基本的LLMChain相比),而较小的模型通常没有这种能力。
最后,SmartLLMChain假设每个基础LLM只会输出1个结果。
Classes¶
使用SmartGPT工作流程进行自我批评的链条。 |
langchain_experimental.sql
¶
SQL Chain 与 SQL 数据库进行交互。
Classes¶
用于与SQL数据库交互的链。 |
|
用于查询SQL数据库的顺序链。 |
|
与Vector SQL数据库交互的链。 |
|
输出结果 |
|
基于VectorSQLOutputParser的解析器。 它还修改SQL以获取所有列。 |
Functions¶
|
从SQL数据库获取结果。 |
langchain_experimental.tabular_synthetic_data
¶
使用LLM和少样本模板生成 表格合成数据 。
Classes¶
使用给定的LLM和few-shot模板生成合成数据。 |
Functions¶
|
创建一个针对OpenAI模型定制的SyntheticDataGenerator实例。 |
langchain_experimental.text_splitter
¶
基于语义相似性的实验性 文本分割器 。
Classes¶
|
根据语义相似性分割文本。 |
Functions¶
计算句子之间的余弦距离。 |
|
|
根据缓冲区大小合并句子。 |
langchain_experimental.tools
¶
实验性的 Python REPL 工具。
Classes¶
用于在REPL中运行Python代码的工具。 |
|
Python 输入. |
|
用于在REPL中运行Python代码的工具。 |
Functions¶
清理输入到Python REPL的内容。 |
langchain_experimental.tot
¶
基于论文[大型语言模型引导的思维树(ToT)](https://arxiv.org/pdf/2305.08291.pdf)实现的 思维树(ToT) 链。
思维树(ToT)链使用树结构来探索问题的可能解决方案空间。
Classes¶
实现思维树(ToT)的链。 |
|
思维树(ToT)检查器。 |
|
思维树(ToT)控制器。 |
|
|
思维树(ToT)链的内存。 |
解析和检查语言模型的输出。 |
|
解析PROPOSE_PROMPT响应的输出。 |
|
在ToT中的一个想法。 |
|
|
思想有效性的枚举。 |
用于思维生成策略的基类。 |
|
顺序使用“提议提示”的策略。 |
|
来自“Chain-of-Thought(CoT)”提示的示例策略。 |
Functions¶
获取“Chain of Thought (CoT)”链的提示。 |
|
获取PROPOSE_PROMPT链的提示。 |
langchain_experimental.utilities
¶
用于模拟独立的Python REPL(交互式解释器)的实用工具。
Classes¶
模拟一个独立的Python REPL。 |