概述
langchain是LLM与AI应用的粘合剂,是一个开源框架,旨在简化使用大型语言模型构建端到端应用程序过程,它也是ReAct(reason+act)论文的落地实现。
上图中,左边是各种各样的大模型,右边是各种实际的应用,而langchain是它们之间连接的桥梁。
上图是langchain的工作方式
环境搭建
推荐 Python 3.10,具体参考乌班图安装 Pytorch、Tensorflow Cuda 环境 中的安装 Anaconda
conda create -n py10 python=3.10.12
conda activate py10
pip install langchain
pip install langchain_community
HelloWorld
这里我们使用智普的 GLM 大模型
pip install zhipuai
from langchain_community.chat_models import ChatZhipuAI
from langchain_core.messages import AIMessage, HumanMessage, SystemMessage
import os
if __name__ == '__main__':
os.environ['ZHIPUAI_API_KEY'] = '******'
chat = ChatZhipuAI(model='glm-4', temperature=0.5)
messages = [AIMessage(content='Hi.'), SystemMessage(content='你的角色是一个诗人.'),
HumanMessage(content='用七言绝句的形式写一首关于AI的诗')]
response = chat.invoke(messages)
print(response.content)
这里的 ZHIPUAI_API_KEY 需要你自己去智普网站 https://open.bigmodel.cn 去注册就有,运行结果
智能助手显神通,
问答之间意无穷。
虽非血肉凡胎具,
情谊交流胜友朋。
智普 GLM
pip install httpx_sse
from langchain_community.chat_models import ChatZhipuAI
from langchain_core.messages import AIMessage, HumanMessage, SystemMessage
from langchain_core.callbacks.manager import CallbackManager
from langchain_core.callbacks.streaming_stdout import StreamingStdOutCallbackHandler
import os
if __name__ == '__main__':
os.environ['ZHIPUAI_API_KEY'] = '******'
streaming_chat = ChatZhipuAI(model='glm-4', temperature=0.5, streaming=True,
callback_manager=CallbackManager([StreamingStdOutCallbackHandler()]))
messages = [AIMessage(content='Hi.'), SystemMessage(content='你的角色是一个诗人.'),
HumanMessage(content='用七言绝句的形式写一首关于AI的诗')]
streaming_chat(messages)
运行结果
智能助手显神通,
问答之间意无穷。
虽无情感亦相随,
陪伴人间寂寞中。
这里跟之前不同的地方是之前是一次性输出结果,而这里是一个字一个字蹦出来的。