LangChain基本介绍!
LangChain基本介绍!
月伴飞鱼LangChain是一个开源的Python AI应用开发框架,它提供了构建基于大模型的AI应用所需的模块和工具。
通过LangChain,开发者可以轻松地与大模型(LLM)集成,完成文本生成、问答、翻译、对话等任务。
LangChain降低了AI应用开发的门槛,让任何人都可以基于LLM构建属于自己的创意应用。
快速入门:https://www.alang.ai/langchain/101/
参考教程:https://liaokong.gitbook.io/llm-kai-fa-jiao-cheng
发展版本:https://github.com/langchain-ai/langchain/releases
官方文档:https://python.langchain.com/v0.2/docs/how_to/
LangChain特性
LLM和提示(Prompt):
LangChain对所有LLM大模型进行了API抽象,统一了大模型访问API,同时提供了Prompt提示模板管理机制。
链(Chain):
LangChain对一些常见的场景封装了一些现成的模块。
例如:基于上下文信息的问答系统,自然语言生成SQL查询等等。
- 因为实现这些任务的过程就像工作流一样,一步一步的执行,所以叫链(Chain)。
LCEL:
LangChain Expression Language(LCEL),LangChain新版本的核心特性,用于解决工作流编排问题。
通过LCEL表达式,我们可以灵活的自定义AI任务处理流程,也就是灵活自定义链(Chain)。
数据增强生成(RAG):
因为大模型(LLM)不了解新的信息,无法回答新的问题,所以可以将新的信息导入到LLM,用于增强LLM生成内容的质量。
这种模式叫做RAG(Retrieval Augmented Generation)。
Agents:
是一种基于大模型(LLM)的应用设计模式,利用LLM的自然语言理解和推理能力(LLM作为大脑)。
- 根据用于的需求自动调用外部系统、设备共同去完成任务。
例如:用户输入明天请假一天,大模型(LLM)自动调用请假系统,发起一个请假申请。
模型记忆(Memory):
让大模型记住之前的对话内容,这种能力成为模型记忆(Memory)。
LangChain任务处理流程
LangChain提供一套提示词模板管理工具,负责处理提示词,然后传递给大模型处理,最后处理大模型返回的结果。
LangChan对大模型的封装主要包括 LLM 和 Chat Model 两张类型:
- LLM:问答模型,模型接收一个文本输入,然后返回一个文本结果。
- Chat Model:对话模型,接受一组对话消息,然后返回对话消息,类似聊天一样。
安装LangChain
1 | pip install langchain |
使用LLM
使用LLM来回答问题非常简单,可以直接调用LLM的
invoke
方法,并传入问题作为参数。此外,还可以通过提示词模板(Prompt Template)生成提示词,用于向模型(LLM)发送指令。
下面演示了如何构建一个简单的LLM链。
1 | # 引入langchain聊天专用提示词模板 |
输出转换
LLM的输出通常是一条信息,为了更方便处理结果,可以将消息转换为字符串。
下面展示如何将LLM的输出消息转换为字符串。
1 | # 字符串输出解析器 |