一、什么是Langchain?
LangChain 是一个创新的框架,专为在应用程序中集成和利用大语言模型而设计。它具备以下核心功能:
数据感知:LangChain 能够将大语言模型与外部数据源相连,实现数据的无缝整合。
自 主 性:允许大语言模型与其所处的环境互动,增强了模型的自适应能力。
LangChain 的价值主要体现在两个方面:
组件化:提供了一系列抽象层及其实现,旨在简化大语言模型的使用。这些组件不仅模块化、易于操作,而且即便在不采用 LangChain 其他部分的情况下也能独立运作。
现成的链:结构化的组件集合,用于完成特定的高级任务。
现成的链为快速启动项目提供了便利,而组件化设计则保证了灵活性,使得用户可以根据需要定制现有链或构建全新的链条,从而满足更复杂的应用需求和细致的使用场景。
简单来说:LangChain 是一个LLM编程框架,提供了必要的组件库,开发者可以直接使用这些组件来快速开发LLM应用。
二、关键组件介绍
Prompts(提示)
Prompts用来管理 LLM 输入的工具,在从 LLM 获得所需的输出之前需要对提示进行相当多的调整,这些Prompts可能是一个简单的句子或多句组合,能够包括变量和条件语句。
Chains(链)
Chains是一种将LLM和其他多个组件连接在一起的工具,以实现复杂、灵活的任务。
Agents(代理)
Agents 是基于LLM决策的工具,专门执行任务并产生文本输出。它们包括三个核心部分:
Action:Agent 执行的具体操作。
Observation:Agent 收集的信息数据。
Decision:Agent 结合 Action 和 Observation 做出的决策结果。
Memory(记忆存储)
这是一个数据存储工具,用于帮助LLM记住以前交互的内容,因为LLM本身不具备长期记忆功能。