前面我的bert+lora微调已经跑出了不错的结果,我也学会了如何在bert上使用Lora进行微调,我后续会补充一个医疗意图识别的项目于这个系列,现在这个医疗意图识别代码还暂时不准备公开。我就继续按照我的计划学习一番LangChain。
LangChain是一个用于构建语言模型应用程序的框架。 LangChain提供了多个模块来简化开发和集成语言模型的过程。以下是 LangChain 的七个主要模块及其详细介绍:
1.
LLMs (Language Models)
- 功能
: 这个模块处理与各种语言模型的交互。你可以使用它来加载预训练的语言模型,或者自定义和训练自己的模型。 - 核心组件
:LLM
: 用于封装语言模型的基类。OpenAI
: 对接 OpenAI 的模型(如 GPT-3, GPT-4)。
2.
Prompts
- 功能
: 用于生成和管理提示(prompts),以便有效地与语言模型进行交互。提供了构建和优化提示的工具。 - 核心组件
:PromptTemplate
: 用于定义和格式化提示模板。PromptChain
: 用于管理多个提示的链式处理。
3.
Agents
- 功能
: 允许创建智能代理(agents),这些代理可以处理复杂的任务和对话,并决定如何调用不同的工具或模型。 - 核心组件
:Agent
: 处理任务和对话的智能代理。AgentExecutor
: 执行代理任务的类。
4.
Chains
- 功能
: 用于将多个组件(如提示、模型、数据)连接在一起,以实现更复杂的工作流和数据处理管道。 - 核心组件
:Chain
: 基类,用于创建链式工作流。SequentialChain
: 按顺序执行多个步骤的链。
5.
Memory
- 功能
: 用于管理和存储会话中的信息,以便在对话中保持上下文和状态。 - 核心组件
:Memory
: 用于存储和检索会话信息。ConversationBufferMemory
: 专门用于对话的缓冲记忆。
6.
Tools
- 功能
: 提供了一些工具和功能,用于扩展语言模型的能力,如数据检索、处理和转换。 - 核心组件
:Tool
: 基类,用于定义各种工具。APITool
: 对接外部API的工具。
7.
Callbacks
- 功能
: 提供了回调功能,用于在模型运行过程中进行日志记录、监控和其他自定义操作。 - 核心组件
:CallbackHandler
: 用于处理和管理回调操作。Logger
: 记录模型运行的日志信息。
LangChain的demo使用方法:
1 |
|
这是运行的结果: