一、LangChain 项目介绍
对大语言模型的调用实际上是一次或多次上下文无关的独立事件,如果想要实现聊天、问答、API调用甚至一些更复杂的业务场景,直接去调用API是无法实现的。需要在这个过程里面整合不同类型的业务代码逻辑。
LangChain就是对这些通用逻辑做了封装,让使用者可以不用关注在与大模型之间的交互细节,能够更专注在业务本身上,通过组合模块和能力抽象来扩展 LLM 的能力,通过 chain、agent、model 等多种封装工具,提供了扩展 LLM 使用场景、便捷 LLM 调用方式的一系列功能。LangChain支持Python、js、ts语言。
1. LangChain的设计思路
CHAIN 就像缝合剂,它把多种能力进行缝合,其中有一部分能力是LangChain内置的,比如说上下文管理(Memory),工具类(Agents)等,我们也可以基于LangChain进行定制与开发,这就是LangChain的设计思路。
2. LangChain 主要具备的核心模块
- Prompts,模板化、动态选择和管理模型输入
- Models,通过通用接口调用语言模型
- Parser,标准化输出模型返回信息
- Memory,上下文信息存储功能
- Chains,将零散的功能逻辑串联成完整的业务流程
- Agents,工具类的合集,解决大模型处理不了的问题
3. LangChain 的应用场景
- 问答机器人
- 摘要汇总
- 聊天机器人
- 数据查询
- 与接口交互
- 理解代码
4. LangChain 的价值
最近几个月, LangChain 已经成为了 AIGC 领域最火的框架。
看到这里,可能很多人心存疑问,为什么开发者要用 LangChain 而不是直接使用 OpenAI 所提供的方法呢?原因是目前的 GPT 模型存在以下的缺点,在产品中集成与使用依然需要大量的成本:
- max token 限制
- 无法,私有化模型
- 没法,查询数据库
- 数据截止2021年Q3
- 不能调用第三方 API
- 无法联网
- 无法对接外部工具
- 数据隐私
- 输出结果不稳定
LangChain 与之对比,就形成了自己的优势。他封装的抽象或抽象出来的能力,确实可以解决大语言模型使用过程中的一些痛点。比如大语言模型返回信息的不确定性,如果每次调用接口的结果是不确定的,你需要在这个过程中,进行大量的异常处理信息。
LangChain 作为大语言模型和应用产品之间的一个桥梁和媒介。LangChain 则很好的解决了GPT模型存在的问题。
5. 环境配置与安装
环境配置:
- 科学上网环境
- Python环境
- API Token
LangChain安装:
- 通过 pip 安装 langchain:
pip install langchain
- 通过 pip 安装 openai:
pip install openai
6. LangChain 相关学习资料
LangChain Python 官方教程:https://python.langchain.com/
LangChain GitHub 源码地址:https://github.com/langchain-ai/langchain
deeplearning教程:https://learn.deeplearning.ai/langchain