前言
时间轴来到2024年的下半年,“大模型”
这个术语,从几乎是ChatGPT的代名词,转变为AI领域一个划时代产品的广泛词汇。从单一到广泛,代表大模型这个世界级产品,正在走向枝繁叶茂的生命阶段。截止现在,目前已经衍生出特定领域特定功能的大模型类型包括但不限于以下方面:
模型类型 | 主要用途 |
---|---|
NLP大模型 | 文本生成式,主要用于处理自然语言文本。有GPT系列、BERT系列等 |
计算机视觉(CV)大模型 | 主要用于处理图像和视频。包括Inception、ResNet、DenseNet等 |
语音识别(ASR)大模型 | 专注于语音信号的处理,如语音识别和语音合成,包括WaveNet等 |
强化学习(RL)大模型 | 专注于解决决策问题,如游戏、机器人等领域的应用。包括DQN等。 |
可想而知,大模型的“表演赛”
,才刚刚完成了“开幕式”
,接下来势必将是一轮又一轮的“你方唱罢我登场”
。同时,越来越多的大模型也带来一个直接问题:
如何让形色各异的大模型快速投入产品?快速落地?快速产生效益?
为了解决这个问题,LangChain应运而生。
一、LangChain简介
什么是LangChain?且看这样一段话:
LangChain 是一个用于开发由大型语言模型 (LLM) 提供支持的应用程序的框架。
一句话就是一个支持各类基于大模型的应用开发框架。既然是框架,那么它能解决什么问题?且看它的用途有哪些。
1. 框架用途
1.1. 开发
使用 LangChain 的开源的building blocks
(构建单元), components
(组件), 和third-party integrations
(第三方集成),构建您的应用程序。使用 LangGraph
构建具有一流流式传输
和人机交互
支持的agents(代理)。
1.2. 跟踪调试
使用LangSmith
检查、监控和评估您的chains(链或任务),以便您可以持续优化,并自信的完成部署。可用于调试或跟踪开发的chain。
1.3. 正式部署
使用 LangGraph Cloud
将您的LangGraph
应用转换为可用于生产环境的 API 和助手。
2. 框架组成
核心组成 | 主要作用 |
---|---|
langchain-core | 包含基本抽象和 LangChain 表达式语言(即LCEL ) |
langchain-community | 用于第三方集成,合作伙伴包有langchain-openai、langchain-anthropic等;有些模型的集成,已被进一步拆分为自有的轻量级包,而这些包仅依赖langchain-core 。 |
langchain | 构成应用程序chain(或任务)、代理和检索策略。 |
LangGraph | LangGraph 是 LangChain 生态系统中新的杰作,为构建基于 LLM (大语言模型)的有状态、多代理应用程序提供了一个全新的范式和强大的框架支持。 |
LangSmith | 一个开发者平台,允许您调试、测试、评估和监控 LLM 应用程序。 |
二、LangChain入门
通过第一部分的概述,我想各位对LangChain有了一个简单的印象。那么是否可以继续通过一个简单的示例,来看看它是如何工作的的? 答案是必须的。
1. 准备环境
如你要正确的使用LangChain,那么必须按照以下步骤完成安装:
1.1 安装Python
略
1.2 安装LangChain
Step1:安装langchain
pip install langchain
Step2:安装langchain-core
pip install langchain-core
Step3:安装langchain-community
pip install langchain-community
Step4:安装langgraph
pip install langgraph
2. 准备一个大模型
博主这里依然以阿里的“通义千问”
为例,提前安装该模型的SDK:
pip install dashscope
3 编写第一个langchain
from getpass import getpass
import os
from langchain_community.chat_models.tongyi import ChatTongyi
from langchain_core.messages import HumanMessage, SystemMessage
# DASHSCOPE_API_KEY = getpass()
os.environ["DASHSCOPE_API_KEY"] = "你已申请的阿里-通义千问大模型API-KEY"
# streaming=True,代表流式输出,提高使用体验
chatLLM = ChatTongyi(
streaming=True,
)
res = chatLLM.stream([HumanMessage(content="hi")], streaming=True)
for r in res:
print("chat resp:", r)
返回如下:
大功告成!
结语
作为第一个致力于集成众多大模型的应用框架,LangChain从去年开始已受到全世界AI研发的关注,并且发展越来越快。也就是说当前掌握的知识,可能随时被淹没或者丢弃。所以尽可能的多去了解,多研究,总结经验。
精彩回顾
基于Python的大模型学习手册(入门级)