从零开始学LangChain(一):LangChain简介与环境搭建

从零开始学LangChain(一):LangChain简介与环境搭建
cuizhenjie从零开始学LangChain(一):LangChain简介与环境搭建
本系列教程将带你从零开始学习LangChain框架,构建强大的AI应用程序。
什么是LangChain?
LangChain是一个强大的框架,用于开发由大型语言模型(LLMs)驱动的应用程序。
想象一下,LLM就像一个超级聪明的大脑,但它需要手脚才能真正做事。LangChain就是为这个大脑提供”手脚”的工具集。
LangChain的核心价值主要体现在几个方面:提供标准化接口统一不同LLM提供商的调用方式,支持链式调用将多个操作串联形成复杂工作流,能够集成外部工具如搜索引擎和数据库,提供对话历史的持久化存储,以及适用于聊天机器人、文档问答、代码生成等多种应用场景。
LangChain的核心组件
LangChain由几个核心组件构成。Models负责调用各种LLM,相当于大脑;Prompts用于管理和优化提示词,代表思考方式;Chains串联多个操作,形成工作流程;Memory存储对话历史,提供记忆力;Agents负责自主决策和工具使用,扮演自主助手角色;Tools连接外部服务,就像是手和脚。
环境准备
在开始之前,确保你的电脑已经安装了Python 3.8或更高版本,准备好了OpenAI API密钥或其他兼容的LLM服务,并且有互联网连接用于安装包和调用API。
安装LangChain
首先创建一个虚拟环境,这是推荐的做法。
1 | # 创建虚拟环境 |
然后安装LangChain和相关依赖。
1 | # 安装LangChain核心库 |
安装成功后会显示已安装的版本信息。
配置API密钥
永远不要将API密钥直接写在代码中或提交到Git仓库。创建一个.env文件来安全地存储API密钥。
1 | # 在项目根目录创建.env文件 |
然后在Python中加载环境变量。
1 | import os |
确保将.env文件添加到.gitignore中,避免提交敏感信息。
验证安装
运行以下命令验证安装。
1 | # 检查LangChain版本 |
你的第一个LangChain程序
让我们创建一个简单的”Hello World”程序,体验LangChain的基本功能。
基础示例:调用LLM
1 | import os |
ChatOpenAI是LangChain提供的OpenAI聊天模型接口,model="gpt-3.5-turbo"指定使用GPT-3.5模型,invoke()用于发送消息给模型,response.content获取模型的回复内容。
使用提示词模板
在实际应用中,我们经常需要使用结构化的提示词。
1 | from langchain_openai import ChatOpenAI |
构建简单的链
LangChain的强大之处在于”链”——将多个操作串联起来。
1 | from langchain_openai import ChatOpenAI |
这里|运算符是LangChain的表达式语言(LCEL),表示将前一个步骤的输出传递给下一步。chain.invoke()传入字典格式的输入数据,temperature=0.7控制输出的随机性。
实战示例:智能问答助手
让我们创建一个实用的问答助手,能够回答关于LangChain的问题。
完整代码
1 | from langchain_openai import ChatOpenAI |
代码解析
ChatPromptTemplate.from_messages()创建包含系统消息和用户消息的提示词模板。System消息设定AI的角色和行为准则,Human消息是用户的实际输入,链式调用prompt | llm将提示词传递给模型。
常见错误
错误1:忘记激活虚拟环境
症状是出现ModuleNotFoundError: No module named 'langchain'错误。正确做法是在使用前激活虚拟环境,然后用which python验证环境。
错误2:API密钥未设置
症状是出现ValueError: Please set OPENAI_API_KEY environment variable错误。需要检查.env文件是否存在,检查环境变量,如果没设置则重新创建.env文件。
错误3:导入错误
症状是出现ImportError: cannot import name 'ChatOpenAI' from 'langchain'错误。这是因为导入方式不对,旧版本使用from langchain.llms import OpenAI,新版本应该使用from langchain_openai import ChatOpenAI,并且需要安装langchain-openai包。
错误4:版本不兼容
症状是出现AttributeError: 'LLM' object has no attribute 'invoke'错误。需要检查LangChain版本,如果不是0.1.x版本,重新安装指定版本。0.1.x版本使用invoke()方法,而0.0.x版本使用__call__()方法(已废弃)。












