上一章我们初识了LangChain的核心价值,明确了它是大模型应用开发的"脚手架"。工欲善其事,必先利其器——本章将聚焦「开发环境搭建」这一基础环节,从Python环境准备、LangChain核心包安装,到LLM API密钥配置、向量数据库部署,再到调试工具使用,全程实战落地,帮你快速搭建一套稳定、可复用的LangChain开发环境。
本章所有操作均适配Windows、Mac、Linux三大系统,代码示例简洁可复制,关键步骤标注注意事项,新手也能零踩坑完成配置;同时提供常见问题排查方案,解决环境搭建中最易遇到的"版本冲突、密钥失效、依赖报错"等问题。
LangChain(1.0+版本)对Python环境有明确要求:Python 3.8+ ,推荐使用 Python 3.9~3.11 版本(兼容性**,避开3.8以下版本的语法兼容问题,也避免3.12+版本的部分依赖包适配问题)。
2.1.1 安装Python(分系统操作)
1. Windows系统
- 下载安装包:访问Python官方网站(www.python.org/downloads/w...),选择"Python 3.10.x"(稳定版),点击"Windows Installer (64-bit)"下载;
- 安装步骤:双击安装包,务必勾选"Add Python 3.10 to PATH"(关键!避免后续无法在命令行调用Python),然后点击"Install Now",默认安装即可;
- 验证安装:打开CMD命令行,输入
python --version,若输出"Python 3.10.x",则安装成功。
2. Mac系统
- 方式1(推荐):使用Homebrew安装(需先安装Homebrew,官网:brew.sh/),打开终端,输入命令:
brew install python@3.10; - 方式2:官网下载安装包(www.python.org/downloads/m...),双击安装,默认勾选"Add Python to PATH";
- 验证安装:终端输入
python3 --version(Mac默认自带Python 2.7,需用python3区分),输出"Python 3.10.x"即为成功。
3. Linux系统(Ubuntu/Debian)
- 更新软件源:终端输入
sudo apt update; - 安装Python 3.10:输入
sudo apt install python3.10 python3.10-pip; - 验证安装:输入
python3.10 --version,输出对应版本号即为成功。
2.1.2 常见问题排查
- 问题1:Windows命令行输入
python提示"不是内部或外部命令"------未勾选"Add Python to PATH",重新安装并勾选,或手动配置环境变量(百度"Python环境变量配置Windows"); - 问题2:Mac/Linux输入
python3提示"command not found"------Homebrew安装失败,重新执行brew install python@3.10,或检查Homebrew是否正常; - 问题3:版本冲突(如同时安装多个Python版本)------使用虚拟环境隔离(详见2.5节),避免全局环境混乱。
LangChain 1.0+版本对包结构进行了拆分,核心包分为3个(按需安装,避免冗余),推荐先安装基础核心包,后续根据开发需求补充其他扩展包。
2.2.1 核心包说明(必装/可选)
2.2.2 安装命令(简洁可复制)
打开命令行/终端,执行以下命令,安装最新稳定版核心包(推荐指定版本,避免版本更新导致的兼容性问题):
GPT plus 代充 只需 145# 安装核心必装包(推荐版本,适配性**)
pip install langchain-core==0.1.33 langchain-community==0.1.13
可选:安装完整LangChain(包含官方工具)
pip install langchain==0.1.10
安装来源说明:命令直接使用PyPI官方源,若下载速度慢,可切换国内源(如阿里云、清华源),示例(临时切换清华源):
GPT plus 代充 只需 145pip install langchain-core==0.1.33 langchain-community==0.1.13 -i https://pypi.tuna.tsinghua.edu.cn/simple
2.2.3 验证安装
安装完成后,执行以下Python代码(简短验证,无需复杂配置),无报错即安装成功:
GPT plus 代充 只需 145# 验证langchain-core安装
from langchain_core.prompts import PromptTemplate
创建简单Prompt模板
prompt = PromptTemplate.from_template("你好,{name}!欢迎学习LangChain") print(prompt.format(name="开发者")) # 输出:你好,开发者!欢迎学习LangChain
代码来源:LangChain官方核心包示例(python.langchain.com/docs/langch...)。
LangChain本身不提供大模型,需对接外部LLM(云端API或本地模型),核心是配置对应模型的API密钥(云端模型)或部署本地模型(如Ollama)。本节覆盖4种主流LLM的配置方法,按需选择(新手推荐先从DeepSeek、Qwen等国内模型入手,无需科学上网)。
2.3.1 云端模型配置(OpenAI、DeepSeek、Qwen)
云端模型无需本地部署,只需获取API密钥,即可通过LangChain调用,适合快速开发验证。
1. OpenAI(GPT-3.5/4,需科学上网)
- 获取API密钥:访问OpenAI平台(platform.openai.com/),注册/登录后,进入「Personal → View API keys」,点击「Create new secret key」生成密钥;
- LangChain调用示例(简短代码):
GPT plus 代充 只需 145from langchain_openai import ChatOpenAI # 配置API密钥(后续会用.env管理,此处先直观展示) llm = ChatOpenAI( model_name="gpt-3.5-turbo", api_key="你的OpenAI API密钥", temperature=0.7 ) # 调用模型生成文本 print(llm.invoke("简单介绍LangChain"))
依赖安装:需额外安装OpenAI适配包,命令:pip install langchain-openai==0.1.6;代码来源:LangChain OpenAI集成文档(python.langchain.com/docs/integr...)。
2. DeepSeek(国内模型,无需科学上网,免费额度充足)
- 获取API密钥:访问DeepSeek平台(platform.deepseek.com/),注册/登录后,进入「API密钥」页面,创建并复制密钥;
- LangChain调用示例:
from langchain_community.chat_models import ChatDeepSeek llm = ChatDeepSeek( model_name="deepseek-chat", api_key="你的DeepSeek API密钥" ) print(llm.invoke("用一句话说明LangChain的作用"))
依赖说明:无需额外安装包(langchain-community已集成);代码来源:LangChain DeepSeek集成文档(python.langchain.com/docs/integr...)。
3. Qwen(阿里通义千问,国内模型,免费可用)
- 获取API密钥:访问通义千问开放平台(dashscope.aliyun.com/),注册/登录后,进入「API密钥」页面,创建密钥;
- LangChain调用示例:
GPT plus 代充 只需 145from langchain_community.chat_models import ChatQwen llm = ChatQwen( model_name="qwen-turbo", api_key="你的Qwen API密钥" ) print(llm.invoke("LangChain适合开发什么类型的应用?"))
依赖安装:需额外安装适配包,命令:pip install dashscope==1.14.0;代码来源:LangChain Qwen集成文档(python.langchain.com/docs/integr...)。
2.3.2 本地模型配置(Ollama,无需API密钥)
Ollama是一款轻量级本地大模型部署工具,支持llama 3、Qwen、Llama 2等开源模型,无需API密钥,适合无网络或隐私敏感场景,配置步骤如下:
- 安装Ollama:访问官网(ollama.com/),下载对应系统版本(Windows/Mac/Linux),默认安装即可;
- 拉取本地模型:打开终端,输入命令(拉取轻量版llama 3,约4.7GB,适合入门):
ollama pull llama3:8b; - LangChain调用示例:
from langchain_community.chat_models import ChatOllama # 调用本地llama 3模型 llm = ChatOllama(model="llama3:8b") print(llm.invoke("介绍一下你自己"))
依赖说明:无需额外安装包(langchain-community已集成);代码来源:LangChain Ollama集成文档(python.langchain.com/docs/integr...);注意:本地模型运行需占用一定内存(8b模型建议16GB以上内存)。
2.3.3 常见问题
- 问题1:API密钥无效/报错"invalid api key"------检查密钥是否复制完整,是否有空格,或重新生成密钥;
- 问题2:OpenAI调用报错"Connection error"------未科学上网,或网络不稳定,切换网络后重试;
- 问题3:Ollama调用报错"model not found"------未拉取对应模型,执行
ollama pull 模型名重试。
上一节中,我们将API密钥直接写在代码里,这种方式存在严重安全隐患(代码提交到GitHub、分享给他人时,密钥会泄露)。**实践是使用.env文件管理敏感信息,通过环境变量加载,避免硬编码。
2.4.1 安装依赖包
使用python-dotenv包加载.env文件,安装命令:
GPT plus 代充 只需 145
pip install python-dotenv==1.0.1
2.4.2 创建 .env 文件(关键步骤)
- 在你的LangChain项目根目录下,新建一个文件,命名为
.env(注意:文件名前有一个小数点,无后缀); - 在
.env文件中,按"KEY=VALUE"格式填写所有敏感信息(如API密钥),示例:
GPT plus 代充 只需 145
# .env 文件内容(敏感信息统一管理)
OPENAI_API_KEY=你的OpenAI API密钥 DEEPSEEK_API_KEY=你的DeepSeek API密钥 QWEN_API_KEY=你的Qwen API密钥
无需填写Ollama相关信息(本地模型无密钥)
GPT plus 代充 只需 145 2.4.3 在代码中加载 .env 文件
使用python-dotenv加载环境变量,代码示例(以调用DeepSeek为例):
GPT plus 代充 只需 145from langchain_community.chat_models import ChatDeepSeek
from dotenv import load_dotenv import os
加载.env文件中的环境变量
load_dotenv()
从环境变量中获取API密钥(无需硬编码)
llm = ChatDeepSeek(
model_name="deepseek-chat", api_key=os.getenv("DEEPSEEK_API_KEY") # 读取.env中的密钥
)
print(llm.invoke("LangChain如何管理敏感信息?"))
GPT plus 代充 只需 145 代码来源:LangChain官方**实践(python.langchain.com/docs/get_st...)。
2.4.4 关键注意事项
- 提交代码时,务必将
.env文件加入.gitignore(新建.gitignore文件,添加一行.env),避免泄露敏感信息; .env文件需与运行的Python脚本在同一目录下,否则需指定文件路径(load_dotenv("xxx/.env"));- 若加载失败,检查环境变量名称是否与
.env文件中一致(区分大小写)。
在开发过程中,不同项目可能需要不同版本的依赖包(如A项目用LangChain 0.1.10,B项目用LangChain 0.2.0),直接安装在全局环境会导致版本冲突。虚拟环境可以实现"项目级依赖隔离",每个项目拥有独立的依赖环境,互不干扰。
本节介绍两种常用虚拟环境工具:venv(Python自带,轻量)和conda(适合数据科学场景,功能强大),按需选择。
2.5.1 使用 venv 创建虚拟环境(推荐新手)
venv是Python 3.3+自带的虚拟环境工具,无需额外安装,操作简单。
- 创建虚拟环境:打开终端,进入你的LangChain项目目录,执行命令(env为虚拟环境名称,可自定义):
# Windows/Mac/Linux通用 python -m venv env # Windows用python,Mac/Linux用python3 - 激活虚拟环境: 激活成功后,终端提示符前会出现
(env),表示当前处于虚拟环境中。- Windows(CMD):
envScriptsactivate - Windows(PowerShell):
.envScriptsActivate.ps1 - Mac/Linux:
source env/bin/activate
- Windows(CMD):
- 安装依赖:在虚拟环境中,执行之前的LangChain安装命令,依赖会安装在虚拟环境中,不影响全局;
- 退出虚拟环境:终端输入
deactivate即可。
2.5.2 使用 conda 创建虚拟环境(适合数据科学场景)
conda是Anaconda/Miniconda自带的虚拟环境工具,适合需要安装Python、Conda包(如向量数据库、数据处理库)的场景,步骤如下:
- 安装Miniconda:访问官网(docs.conda.io/en/latest/m...),下载对应系统版本,默认安装;
- 创建虚拟环境:终端输入(langchain-env为虚拟环境名称,python=3.10指定Python版本):
conda create -n langchain-env python=3.10 - 激活虚拟环境:
# Windows/Mac/Linux通用 conda activate langchain-env - 安装依赖:与venv一致,执行
pip install命令即可; - 退出虚拟环境:
conda deactivate; - 删除虚拟环境(可选):
conda remove -n langchain-env --all。
2.5.3 依赖导出与导入(实用技巧)
为了方便他人复现你的环境,或在其他设备上快速搭建,可将虚拟环境的依赖导出为requirements.txt文件:
# 导出依赖(虚拟环境中执行) pip freeze > requirements.txt
他人导入依赖时,执行:
GPT plus 代充 只需 145pip install -r requirements.txt
在LangChain开发中,向量数据库是RAG(检索增强生成)场景的核心组件,用于存储文本嵌入(Embedding),实现快速检索。本节介绍3种常用向量数据库的安装与基础配置,覆盖"本地轻量""本地高性能""云端托管"三种场景。
2.6.1 Chroma(本地轻量,新手首选)
Chroma是一款轻量级本地向量数据库,无需复杂部署,开箱即用,适合开发测试、小规模RAG场景,安装步骤:
- 安装命令:
pip install chromadb==0.5.0 - LangChain调用示例(简单验证): `from langchain_community.vectorstores import Chroma from langchain_community.embeddings import OpenAIEmbeddings # 需安装openai包
vector_db = Chroma( persist_directory="./chroma_db", embedding_function=OpenAIEmbeddings(api_key=os.getenv("OPENAI_API_KEY")) )
vector_db.add_texts(texts=["LangChain是大模型应用开发脚手架"]) print("Chroma安装并初始化成功")`
代码来源:LangChain Chroma集成文档(python.langchain.com/docs/integr...);注意:Chroma默认存储在本地,无需启动服务,直接调用即可。
2.6.2 FAISS(本地高性能,适合大规模数据)
FAISS(Facebook AI Similarity Search)是Meta开源的高性能向量检索库,适合本地大规模文本嵌入存储与检索,安装步骤:
- 安装命令(区分系统): `# Windows/Mac/Linux通用(基础版) pip install faiss-cpu==1.7.4
- LangChain调用示例: `from langchain_community.vectorstores import FAISS from langchain_community.embeddings import DeepSeekEmbeddings
vector_db = FAISS.from_texts( texts=["LangChain支持多种向量数据库"], embedding=DeepSeekEmbeddings(api_key=os.getenv("DEEPSEEK_API_KEY")) )
vector_db.save_local("faiss_db") print("FAISS安装并初始化成功")`
代码来源:LangChain FAISS集成文档(python.langchain.com/docs/integr...);注意:FAISS默认在内存中运行,需手动调用save_local持久化到本地。
2.6.3 Pinecone(云端托管,适合生产环境)
Pinecone是一款云端托管向量数据库,无需本地部署,支持大规模数据、高并发检索,适合生产环境,步骤如下:
- 获取API密钥:访问Pinecone官网(www.pinecone.io/),注册/登录后,创建索引,获取API密钥和环境(如us-west1-gcp);
- 安装命令:
pip install pinecone-client==3.2.2 langchain-pinecone==0.1.0 - LangChain调用示例(需先在.env中配置Pinecone密钥):`from langchain_pinecone import PineconeVectorStore from langchain_community.embeddings import QwenEmbeddings import pinecone
pinecone.init( api_key=os.getenv("PINECONE_API_KEY"), environment=os.getenv("PINECONE_ENV") # 如us-west1-gcp )
vector_db = PineconeVectorStore( index_name="langchain-test", # 你的Pinecone索引名 embedding=QwenEmbeddings(api_key=os.getenv("QWEN_API_KEY")) ) print("Pinecone连接成功")`
代码来源:LangChain Pinecone集成文档(python.langchain.com/docs/integr...);注意:Pinecone有免费额度,超出额度需付费。
LangChain开发中,调试是核心环节------链式调用、工具调用的流程复杂,需要实时查看每一步的输出。本节介绍两种常用开发工具(Jupyter Notebook、VS Code)的调试技巧,提升开发效率。
2.7.1 Jupyter Notebook(交互式调试,适合快速验证)
Jupyter Notebook支持逐行运行代码、实时查看输出,适合调试LangChain的组件调用、链式流程,步骤如下:
- 安装Jupyter Notebook:
pip install jupyter==1.0.0 - 启动Jupyter:终端输入
jupyter notebook,自动打开浏览器,进入项目目录; - 创建Notebook:点击「New → Python 3」,新建.ipynb文件;
- 调试技巧(核心):
- 逐块运行代码:每写一段代码(如初始化LLM、创建Prompt),点击「Run」运行,查看输出,避免一次性运行全部代码导致报错难以定位;
- 查看组件输出:在链式调用中,可单独打印每一步的输出(如打印Prompt模板、打印LLM的原始响应),示例: `from langchain_core.prompts import PromptTemplate from langchain_community.chat_models import ChatDeepSeek
prompt = PromptTemplate.from_template("{question}") print("Prompt模板:", prompt.format(question="LangChain调试技巧"))
llm = ChatDeepSeek(api_key=os.getenv("DEEPSEEK_API_KEY")) response = llm.invoke(prompt.format(question="LangChain调试技巧")) print("LLM响应:", response.content)`
- 清除输出:报错后,点击「Kernel → Restart & Clear Output」,重新运行代码。
2.7.2 VS Code(专业调试,适合项目开发)
VS Code是LangChain项目开发的首选工具,支持代码补全、断点调试、虚拟环境切换,调试技巧如下:
- 配置Python环境:打开VS Code,安装「Python」插件(微软官方),点击左下角的Python版本,切换到之前创建的虚拟环境(如env、langchain-env);
- 断点调试(核心):
- 在需要调试的代码行左侧点击,出现红色断点(如LLM调用、链式调用行);
- 点击顶部「运行和调试」按钮(或按F5),启动调试模式;
- 调试快捷键:F10(单步跳过)、F11(单步进入)、Shift+F11(单步退出),可查看每一步的变量值、函数调用流程;
- 查看LangChain链的运行日志:在代码中添加
verbose=True(如ConversationChain、LLMChain),调试时可在控制台查看详细日志,示例: `from langchain.chains import LLMChain
chain = LLMChain(llm=llm, prompt=prompt, verbose=True) # 开启详细日志 chain.invoke({"question": "LangChain调试技巧"})`
- 代码补全与提示:安装「LangChain」插件(VS Code商店搜索),可获得LangChain API的代码补全、文档提示,提升开发效率。
2.7.3 通用调试技巧(必看)
- 开启LangChain详细日志:在代码开头添加以下代码,查看组件调用的完整流程,快速定位报错位置:
import logging logging.basicConfig(level=logging.INFO) # 开启INFO级别日志 - 报错定位:优先查看报错信息的最后一行,找到"Error"关键词,再向上追溯,重点关注"组件初始化""API调用""参数传递"三个环节;
- 简化调试:遇到复杂链式调用报错时,先拆解为单个组件(如先验证LLM是否能正常调用,再验证Prompt模板,最后拼接成链)。
本节通过一个完整实战案例,验证整个开发环境是否配置成功------分别调用「云端模型(DeepSeek)」和「本地模型(Ollama)」,实现简单的文本生成功能,整合前面所学的.env管理、虚拟环境、组件调用等知识点。
2.8.1 实战准备
- 确保已激活虚拟环境;
- 确保.env文件已配置DeepSeek API密钥(Ollama无需配置);
- 确保已安装所需依赖(langchain-core、langchain-community、python-dotenv、ollama(本地模型))。
2.8.2 实战代码(完整可运行)
GPT plus 代充 只需 145"""
实战:验证LangChain开发环境,调用云端/本地大模型 代码来源:LangChain官方实战示例改编(https://python.langchain.com/docs/get_started/quickstart) """ from dotenv import load_dotenv import os from langchain_community.chat_models import ChatDeepSeek, ChatOllama from langchain_core.prompts import PromptTemplate from langchain.chains import LLMChain
1. 加载环境变量(敏感信息管理)
load_dotenv()
2. 定义Prompt模板
prompt = PromptTemplate.from_template(
"请用简洁的语言回答以下问题:{question}
回答要求:不超过50字,通俗易懂。" )
3. 调用云端模型(DeepSeek)
print("=== 调用云端模型(DeepSeek) ===") try:
GPT plus 代充 只需 145cloud_llm = ChatDeepSeek( model_name="deepseek-chat", api_key=os.getenv("DEEPSEEK_API_KEY") ) cloud_chain = LLMChain(llm=cloud_llm, prompt=prompt, verbose=False) cloud_response = cloud_chain.invoke({"question": "LangChain环境搭建的核心步骤是什么?"}) print("云端模型回答:", cloud_response["text"])
except Exception as e:
print("云端模型调用失败:", str(e))
4. 调用本地模型(Ollama - llama3:8b)
print(" === 调用本地模型(Ollama - llama3) ===") try:
GPT plus 代充 只需 145local_llm = ChatOllama(model="llama3:8b") local_chain = LLMChain(llm=local_llm, prompt=prompt, verbose=False) local_response = local_chain.invoke({"question": "LangChain环境搭建的核心步骤是什么?"}) print("本地模型回答:", local_response["text"])
except Exception as e:
print("本地模型调用失败:", str(e))
print(" === 环境验证完成 ===") if "cloud_response" in locals() or "local_response" in locals():
GPT plus 代充 只需 145print("✅ 至少一种模型调用成功,环境配置正常!")
else:
print("❌ 模型调用失败,请检查环境配置!")
2.8.3 运行结果与解读
1. 正常运行结果
GPT plus 代充 只需 145
=== 调用云端模型(DeepSeek) ===
云端模型回答: 安装Python、LangChain核心包,配置LLM API密钥,用.env管理敏感信息。 === 调用本地模型(Ollama - llama3) === 本地模型回答: 准备Python环境,安装依赖,配置模型,验证调用即可完成LangChain环境搭建。 === 环境验证完成 === ✅ 至少一种模型调用成功,环境配置正常!
GPT plus 代充 只需 145 2. 结果解读
- 代码整合了「.env敏感信息管理」「Prompt模板」「LLMChain链式调用」「云端/本地模型适配」,覆盖本章核心知识点;
- 若云端模型调用失败,优先检查API密钥、网络(如OpenAI需科学上网);
- 若本地模型调用失败,检查Ollama是否安装、模型是否拉取成功(执行
ollama list查看已拉取模型)。
2.8.4 常见问题排查
- 问题1:报错"ModuleNotFoundError: No module named 'langchain_community'"------未安装langchain-community包,执行
pip install langchain-community; - 问题2:本地模型调用报错"Connection refused"------Ollama服务未启动,重启Ollama(Windows在服务中重启,Mac/Linux执行
ollama serve); - 问题3:链式调用报错"KeyError: 'text'"------检查LLM调用是否成功,可单独打印
cloud_llm.invoke("测试"),查看是否有响应。
本章我们完成了LangChain开发环境的全流程搭建,从Python环境准备、核心包安装,到LLM API密钥配置、敏感信息管理,再到虚拟环境隔离、向量数据库安装和调试工具使用,最后通过实战验证了环境的可用性。
核心要点回顾:
- Python 3.9~3.11是LangChain的**适配版本,避免版本过高或过低导致的兼容性问题;
- langchain-core和langchain-community是必装核心包,按需安装扩展包;
- 敏感信息(API密钥)必须用.env文件管理,避免硬编码,提交代码时忽略.env文件;
- 虚拟环境是依赖隔离的关键,推荐用venv(新手)或conda(数据科学场景);
- Chroma适合新手开发测试,FAISS适合本地大规模数据,Pinecone适合生产环境;
- Jupyter适合快速验证,VS Code适合项目开发,断点调试和日志打印是定位问题的核心技巧。
环境搭建完成后,下一章我们将深入学习LangChain的核心组件——Prompt模板,掌握Prompt工程的技巧,让大模型生成更精准、更符合需求的回答。
(注:文档部分内容可能由 AI 生成)
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/241666.html