LangChain开发环境搭建指南:从虚拟环境到第一个AI应用

发布时间:2026/8/13 3:50:42

LangChain开发环境搭建指南:从虚拟环境到第一个AI应用
1. 项目概述为什么是LangChain如果你已经跟着这个系列走了十三天从基础的Python环境、机器学习概念一路摸爬滚打到模型微调那么恭喜你你已经具备了相当扎实的“内功”。现在是时候把这些内功转化为实实在在的“招式”了。在AI应用开发的世界里尤其是大语言模型LLM驱动的应用直接调用API写业务逻辑很快就会遇到瓶颈如何管理对话历史如何让模型调用外部工具或数据如何构建一个多步骤的复杂推理流程这时一个强大的“框架”就显得至关重要。LangChain正是当前解决这些问题最流行、最强大的框架之一。它不是另一个需要你从头学习的AI模型而是一个“粘合剂”和“脚手架”。它的核心价值在于将大语言模型与你的数据、你的逻辑、以及外部工具如搜索引擎、数据库、API优雅地连接起来让你能高效地构建出功能复杂、逻辑清晰的AI应用。想象一下你要开发一个智能客服它需要查询知识库、记录对话上下文、在特定情况下调用内部API查询订单——用原生API手写这些逻辑会非常繁琐且容易出错而LangChain提供了一套标准化的组件和设计模式让你像搭积木一样快速实现。所以第十四天的主题“搭建LangChain的开发环境”其意义远不止“安装几个包”。它标志着你的学习从单点技术实践正式迈向工程化、系统化的AI应用构建。这个环境是你未来开发所有基于LangChain项目的基石搭建得是否稳固、配置得是否合理直接影响到后续的开发效率和代码质量。2. 环境搭建的核心思路与前置准备在动手敲命令之前我们先理清搭建LangChain开发环境的整体思路。一个理想的开发环境应该具备隔离性不污染系统全局环境、可复现性依赖版本锁定便于团队协作和部署、便利性集成必要的开发工具。基于这些原则我们的方案非常明确使用conda或venv创建虚拟环境配合pip进行包管理并用requirements.txt或environment.yml来固化环境。2.1 虚拟环境管理工具选型为什么强烈推荐虚拟环境假设你同时在开发两个项目一个需要langchain0.0.350另一个需要langchain0.1.0这两个版本间可能有重大变更。如果没有虚拟环境你只能在全局反复安装卸载极易导致依赖冲突甚至搞崩整个Python环境。虚拟环境为每个项目提供了独立的Python运行环境和包安装空间完美解决了这个问题。Conda vs. venv/pipenvConda 优势在于它不仅管理Python包还能管理非Python的二进制依赖比如某些科学计算库的底层C库。如果你之前的学习路径涉及复杂的科学计算环境如通过Anaconda安装继续使用Conda会非常顺手。它的包源channel生态也很强大。venv (pip) 这是Python标准库自带的工具轻量、纯粹。如果你追求极简或者你的项目依赖主要是纯Python包那么venv配合pip是更主流的选择。它也是很多云服务器和Docker镜像中的默认选择。对于LangChain开发两者皆可。我个人更倾向于使用venv因为它更“标准”在部署时尤其是在Docker中兼容性更好也减少了因Conda channel配置带来的额外复杂度。本指南将以venv为主线同时会简要说明Conda的等效操作。2.2 核心依赖与版本策略LangChain本身是一个快速迭代的框架其子模块如langchain-community,langchain-core和集成的第三方模型接口库更新频繁。盲目安装最新版可能会遇到文档不匹配或接口变更的问题。因此版本锁定是搭建稳定开发环境的关键一步。我们需要关注以下几类核心依赖LangChain核心库 基础框架。语言模型接口 根据你要使用的模型选择如openai库用于GPT系列anthropic用于Claude或ollama用于本地模型。向量数据库客户端 如果你需要做检索增强生成RAG则会用到如chromadb,pinecone-client。开发与工具链 如jupyter用于实验pytest用于测试black/isort用于代码格式化。环境管理文件requirements.txt或pyproject.toml。一个常见的策略是先确定一个稳定的LangChain大版本然后根据官方文档或社区推荐安装与之兼容的其他库版本。我们可以在搭建之初就创建一个版本约束文件。3. 逐步搭建LangChain开发环境下面我们进入实操环节。请打开你的终端Windows用CMD/PowerShellMac/Linux用Terminal跟随步骤一步步操作。3.1 创建并激活Python虚拟环境首先确保你的系统已经安装了Python建议3.8以上版本。可以通过python --version或python3 --version检查。步骤一创建项目目录并进入mkdir my-langchain-project cd my-langchain-project步骤二创建虚拟环境使用venv模块创建虚拟环境。环境目录通常命名为venv或.venv。# 在项目根目录下创建名为 .venv 的虚拟环境 python -m venv .venv这条命令会在当前目录下生成一个.venv文件夹里面包含了独立的Python解释器和pip。步骤三激活虚拟环境激活后终端的命令提示符前通常会显示环境名意味着后续所有Python操作都局限在此环境中。Windows (CMD/PowerShell):.venv\Scripts\activateMacOS/Linux (bash/zsh):source .venv/bin/activate激活后你应该能看到类似(.venv) PS C:\my-langchain-project或(.venv) userhost:~$的提示。注意如果你使用Conda操作如下conda create -n langchain-env python3.10 conda activate langchain-env3.2 安装LangChain及其核心依赖现在我们开始安装包。首先升级pip到最新版确保安装过程顺畅。pip install --upgrade pip基础安装LangChain社区推荐使用langchain-community来安装大多数第三方集成因为它比 monolithic 的langchain包更轻量依赖管理更清晰。pip install langchain-core langchain-community这安装了最核心的框架和社区集成的组件。安装模型接口假设我们主要使用OpenAI的GPT模型和开源的Ollama本地模型。pip install openai # 如果你打算在本地运行大模型安装ollama pip install ollama安装向量数据库与文本分割器可选但重要如果你计划做RAGChromaDB是一个轻量易用的起点。pip install chromadb # 安装一个常用的文本分割器 pip install tiktoken # OpenAI的分词器用于精确计算token和分割文本 pip install langchain-text-splitters # LangChain官方的文本分割工具安装开发工具pip install jupyterlab # 强大的交互式笔记本用于实验和原型设计 pip install ipython # 增强的Python交互式shell pip install black isort flake8 # 代码格式化与风格检查工具 pip install pytest # 单元测试框架3.3 固化环境创建依赖管理文件安装完所有包后我们需要将当前环境的精确依赖导出以便在其他机器上复现完全相同的环境。pip freeze requirements.txt查看生成的requirements.txt文件里面列出了所有包及其精确版本号例如langchain-core0.1.0。请务必将这个文件纳入版本控制系统如Git。当你的队友或你在新机器上需要搭建环境时只需# 1. 创建并激活虚拟环境同上 # 2. 安装所有依赖 pip install -r requirements.txt实操心得对于更复杂的项目可以考虑使用pyproject.toml配合poetry或pdm这类现代包管理工具。它们能更好地处理依赖解析和锁定但学习曲线稍陡。对于入门和大多数项目requirements.txt完全够用且直观。3.4 配置环境变量与API密钥很多AI服务如OpenAI, Anthropic需要通过API密钥访问。绝对不要将密钥硬编码在代码中并上传到GitHub等公开仓库标准做法是使用环境变量。步骤一创建.env文件在项目根目录下创建名为.env的文件。# Windows (CMD) 用 copy con .env 或直接在编辑器创建 # Mac/Linux 用 touch .env在.env文件中填入你的密钥OPENAI_API_KEYsk-your-openai-api-key-here # ANTHROPIC_API_KEYyour-antropic-key # 其他API密钥...步骤二安装并配置python-dotenv我们需要一个库在Python启动时自动加载.env文件。pip install python-dotenv步骤三在代码中安全使用密钥在你的Python脚本或Jupyter Notebook开头这样加载import os from dotenv import load_dotenv load_dotenv() # 加载 .env 文件中的所有变量到环境变量 openai_api_key os.getenv(OPENAI_API_KEY) # 现在可以安全地使用 openai_api_key 了步骤四将.env加入.gitignore创建或编辑项目根目录下的.gitignore文件确保包含以下内容# Python __pycache__/ *.py[cod] *$py.class .Python venv/ .venv/ env/ # Environment Variables .env .env.local重要警告每次提交代码前务必检查.gitignore是否生效确保.env文件没有被意外提交。这是保护账户安全的重中之重。4. 验证环境与第一个LangChain程序环境搭建好了我们来跑一个最简单的程序验证一切是否正常。4.1 使用OpenAI模型进行简单对话创建一个名为test_env.py的文件写入以下代码import os from dotenv import load_dotenv from langchain_openai import ChatOpenAI # 注意从 langchain-community 或 langchain-openai 导入 from langchain_core.messages import HumanMessage # 1. 加载环境变量 load_dotenv() # 2. 初始化LLM模型 llm ChatOpenAI( modelgpt-3.5-turbo, temperature0.7, # 控制创造性0-1越高越随机 openai_api_keyos.getenv(OPENAI_API_KEY) # 安全地从环境变量获取 ) # 3. 构造消息 messages [HumanMessage(content用一句话介绍下LangChain是什么)] # 4. 调用并打印结果 try: response llm.invoke(messages) print(模型回复, response.content) except Exception as e: print(f调用出错{e}) print(请检查1. 虚拟环境是否激活 2. .env文件中的API密钥是否正确 3. 网络连接)在终端中运行python test_env.py如果看到模型返回了一句关于LangChain的介绍恭喜你基础环境配置成功4.2 使用本地Ollama模型可选如果你安装了Ollama并在本地运行了模型例如先执行ollama pull llama2可以测试本地调用from langchain_community.llms import Ollama llm Ollama(modelllama2) response llm.invoke(为什么天空是蓝色的) print(response)这个测试不依赖外部API适合验证本地模型集成是否正常。4.3 集成开发环境IDE配置一个好的IDE能极大提升效率。推荐使用VSCode或PyCharm。VSCode 安装官方Python扩展。打开项目文件夹后VSCode通常会自动检测到.venv环境。如果没有按CtrlShiftP输入Python: Select Interpreter选择.venv路径下的python.exe。PyCharm 打开项目时它会提示你配置解释器。选择“Existing interpreter”路径指向.venv/Scripts/python(Win) 或.venv/bin/python(Mac/Linux)。在IDE中配置好后代码补全、语法高亮、调试等功能都会基于你创建的虚拟环境工作。5. 常见问题与深度排查指南即使按照步骤操作你也可能会遇到一些问题。这里记录了一些常见坑点和解决方案。5.1 包安装失败或版本冲突问题现象pip install时出现大量红色报错提示某些包无法满足依赖关系。根本原因 不同包对同一个底层依赖如numpy,pydantic的版本要求冲突。解决方案创建干净环境这是最彻底的方法。删除当前的.venv文件夹重新创建并激活。循序渐进安装不要一次性安装所有包。先安装最核心的langchain-core和langchain-community再安装模型接口openai最后安装其他工具。这有助于定位是哪个包引入了冲突。使用约束文件如果已知某个组合是稳定的可以创建一个requirements.in文件只写顶级的包如langchain-community0.0.10然后使用pip-compile来自pip-tools包来生成一个兼容的requirements.txt。这对复杂项目后期维护很有帮助。查看错误日志仔细阅读错误信息的最后几行通常会指明是哪个包Package A需要某个版本但已安装的另一个包Package B不兼容。5.2 导入错误ModuleNotFoundError或ImportError问题现象 运行代码时提示No module named langchain_openai或类似错误。排查步骤确认环境激活在终端输入which python(Mac/Linux) 或where python(Windows)。确保显示的Python路径在你的.venv目录下。如果没有重新执行激活命令。确认包已安装在激活的虚拟环境中运行pip list | grep langchain查看已安装的LangChain相关包。注意导入路径LangChain v0.1.x 之后模块化程度更高。ChatOpenAI可能从langchain_openai需单独安装langchain-openai或langchain_community.chat_models导入。务必查阅你安装版本对应的官方文档。一个快速检查的方法是在Python交互环境中尝试from langchain_community.chat_models import ChatOpenAI和from langchain_openai import ChatOpenAI看哪个能成功。5.3 API密钥配置错误问题现象 调用OpenAI接口时返回AuthenticationError或Invalid API Key。排查步骤检查.env文件确保文件在项目根目录且变量名正确OPENAI_API_KEY等号两边没有空格值是正确的密钥。检查加载代码确保在代码最开头执行了load_dotenv()。打印验证可以在load_dotenv()后添加print(os.getenv(OPENAI_API_KEY)[:10] ...)来模糊打印密钥前几位确认是否成功加载。切勿打印完整密钥。重启IDE/终端有时环境变量的更改需要重启开发环境才能生效。5.4 网络连接与代理问题问题现象 连接超时无法访问api.openai.com。解决方案设置HTTP代理如果你的网络需要通过代理访问外网需要为Python请求设置代理。可以通过环境变量设置# 在激活虚拟环境后运行代码前设置仅限当前会话 set HTTP_PROXYhttp://your-proxy:port # Windows export HTTP_PROXYhttp://your-proxy:port # Mac/Linux或者在.env文件中添加HTTP_PROXY和HTTPS_PROXY变量并在代码中让requests库或openai库使用它们。OpenAI库通常会自动读取这些环境变量。检查防火墙确保没有防火墙规则阻止Python或你的终端访问网络。5.5 虚拟环境在VSCode中不生效问题现象 VSCode的终端显示环境已激活但运行/调试代码时仍然使用系统Python。解决方案完全关闭VSCode重新打开项目。检查VSCode右下角的状态栏看是否显示了正确的Python解释器如.venv。点击它进行切换。打开命令面板 (CtrlShiftP)运行Developer: Reload Window重载窗口。检查VSCode的设置Python: Terminal Activate Environment是否被设置为true。环境搭建是万里长征的第一步但也是确保后续开发顺畅无阻的关键一步。花点时间把环境配好、把问题理解透远比在后续编码中不断回头解决环境问题要高效得多。现在你的“武器库”已经准备就绪接下来就可以深入LangChain的核心概念开始构建真正强大的AI应用了。

相关新闻

基于RAG与开源技术栈构建本地化代码智能问答系统实战指南

基于RAG与开源技术栈构建本地化代码智能问答系统实战指南

2026/8/13 3:50:42

如果你是一名开发者,最近可能已经感受到了一个明显的趋势:AI 正在从“帮你写代码”的工具,演变为“理解你代码”的伙伴。过去,我们向 Copilot 提问,它给出代码片段;现在,我们开始期待 AI 能像一…

阿里云可观测数据安全防护:从日志脱敏到动态权限管控实战

阿里云可观测数据安全防护:从日志脱敏到动态权限管控实战

2026/8/13 3:40:42

1. 从一次“惊心动魄”的日志审计说起去年,我们团队负责的一个核心业务系统,因为一个紧急的线上问题,需要拉取近一周的应用日志进行深度分析。问题排查本身很顺利,但就在我们准备将日志文件归档时,安全部门的同事找上门…

LangChain核心组件LLMChain详解:从基础调用到复杂工作流构建

LangChain核心组件LLMChain详解:从基础调用到复杂工作流构建

2026/8/13 3:40:42

1. 从“零散调用”到“组装流水线”:为什么我们需要LangChain的链如果你刚开始接触LangChain,可能会觉得它概念繁多,有点无从下手。Agent、Tool、Memory、Chain……这些名词堆在一起,很容易让人迷失。但如果你已经尝试过用LangCha…

PyTorch工程化实践:从动态图到分布式部署的完整指南

PyTorch工程化实践:从动态图到分布式部署的完整指南

2026/8/13 5:30:47

1. 项目概述:为什么需要从工程视角看PyTorch?如果你在深度学习领域摸爬滚打了一段时间,尤其是从研究转向落地,大概率会和我有相似的感受:最初被PyTorch吸引,是因为它那近乎Python原生语法的简洁和动态图的灵…

技术管理者转型指南:从独立贡献者到团队领导者的思维重塑与技能升级

技术管理者转型指南:从独立贡献者到团队领导者的思维重塑与技能升级

2026/8/13 5:30:47

1. 从“我”到“我们”:角色转变的本质与挑战最近和几个刚晋升为技术经理的老朋友聊天,发现大家普遍都卡在同一个地方:明明技术能力很强,带团队却感觉使不上劲,甚至比写代码还累。这让我想起自己几年前刚坐上管理岗时&…

WOE编码全解析:从原理到实践,构建可解释风控模型

WOE编码全解析:从原理到实践,构建可解释风控模型

2026/8/13 5:30:47

1. 项目概述:从“黑盒”到“白盒”的评分卡基石如果你在金融风控、信用评分或者任何需要将分类变量转化为可解释、可建模数值特征的领域工作过,那么“WOE编码”这个词对你来说一定不陌生。它远不止是一个简单的编码技巧,而是连接业务逻辑与统…

AI原生应用开发实战:HiClaw与CoPaw开源框架解析与避坑指南

AI原生应用开发实战:HiClaw与CoPaw开源框架解析与避坑指南

2026/8/13 5:30:47

1. 活动缘起与核心价值最近在杭州参加了一场名为“群虾智能——AI 原生应用开源开发者沙龙”的活动,回来之后一直有朋友在问现场的情况和资料。作为一个在开源和AI应用开发领域摸爬滚打了十来年的老码农,我觉得这场活动确实有不少值得说道的地方。它不像…

《刺客信条》xinput1_3.dll缺失错误:原理分析与全方位修复指南

《刺客信条》xinput1_3.dll缺失错误:原理分析与全方位修复指南

2026/8/13 5:30:47

1. 项目概述:当《刺客信条》遇上xinput1_3.dll如果你是一名《刺客信条》系列的老玩家,或者正准备踏入这个充满历史与阴谋的世界,那么你很可能在某个激动人心的时刻双击游戏图标,迎来的不是熟悉的Animus界面,而是一个冰…

UE5世界位置偏移动画阴影同步问题:VSM与DFS解决方案详解

UE5世界位置偏移动画阴影同步问题:VSM与DFS解决方案详解

2026/8/13 5:20:46

1. 问题现象:当世界位置偏移“动”起来,阴影为何“掉队”了?在UE5里用世界位置偏移(World Position Offset, 简称WPO)给模型“动起来”,比如做个随风摇曳的草、呼吸起伏的地面,或者扭…

比较好的亚太EMBA,问了6位校友师资差别真的挺大

比较好的亚太EMBA,问了6位校友师资差别真的挺大

2026/8/12 7:11:29

比较好的亚太EMBA核心差异先看什么?对于希望兼顾工作与系统管理能力提升的亚太区高管而言,筛选匹配度高的EMBA项目时,师资配置是决定学习体验与实际收获的核心要素之一。我们结合3-4个公开信息透明、办学历史较长的亚太区主流EMBA项目特点&am…

备考3个月对比6份资料 海外游学的亚洲EMBA面试注意点

备考3个月对比6份资料 海外游学的亚洲EMBA面试注意点

2026/8/11 8:44:43

备考海外游学的亚洲EMBA面试,核心要围绕项目国际化设计逻辑、个人跨文化管理经验匹配度两个维度准备,避免把游学模块等同于普通旅游参访的认知偏差。不少备考者花3个月对比6份资料,却容易忽略面试官对“国际视野落地能力”的考察——比如香港…

比较好的国内EMBA,问了二十位校友聊透人脉价值

比较好的国内EMBA,问了二十位校友聊透人脉价值

2026/8/11 15:57:54

比较好的国内EMBA核心差异体现在哪些方面?比较好的国内EMBA的核心长期价值,很大程度上依托于校友网络的连接质量与资源生态的活跃度,这也是不少高管在择校时优先考量的因素。我们结合3-4个市场关注度较高的项目公开信息,从课程、师…

电商毛利率别再手动算了!2026年3种自动分析工具实测对比

电商毛利率别再手动算了!2026年3种自动分析工具实测对比

2026/8/13 0:00:21

一、开篇:毛利率——电商运营最该盯但最难盯的指标 电商运营中有一个指标,几乎所有老板都会问,但几乎所有运营都回答得不够确定——毛利率。不是"店铺毛利率",而是"每条链接的毛利率""每个品类的毛利率…

15-SaaS系统灰度发布:滚动更新、金丝雀发布、不停机迭代

15-SaaS系统灰度发布:滚动更新、金丝雀发布、不停机迭代

2026/8/13 0:00:21

15-SaaS系统灰度发布:滚动更新、金丝雀发布、不停机迭代 一、为什么需要不停机发布? 传统发布方式:停服务 → 替换包 → 启服务。在内部系统里勉强能用,但在SaaS系统中是灾难。 我们的无人售货柜SaaS平台服务全国几千台设备&#…

17-线上Bug热修复流程:紧急分支、补丁合并、版本快速回退方案

17-线上Bug热修复流程:紧急分支、补丁合并、版本快速回退方案

2026/8/13 0:00:21

17-线上Bug热修复流程:紧急分支、补丁合并、版本快速回退方案 前言 大家好,我是黒漂技术佬。 线上出 Bug 这种事,就像你正吃着火锅唱着歌,突然接到电话说"柜子门打不开了"。炸不炸?慌不慌?别急&a…

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

2026/8/8 5:07:31

一天写完毕业论文在2026年已不再是天方夜谭。2026年最炸裂、实测能大幅提速的AI论文写作工具,覆盖选题构思、文献整理、内容生成、格式排版等核心场景,真正帮你高效搞定论文难题。 一、全流程王者:一站式搞定论文全链路(一天定稿首…

导师推荐!2026最新AI论文工具测评与实用推荐

导师推荐!2026最新AI论文工具测评与实用推荐

2026/8/9 13:42:46

2026年真正好用的AI论文工具,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。 一、…

告别游戏崩溃:XCOM 2模组管理器的智能革命

告别游戏崩溃:XCOM 2模组管理器的智能革命

2026/8/8 2:30:15

告别游戏崩溃:XCOM 2模组管理器的智能革命 【免费下载链接】xcom2-launcher The Alternative Mod Launcher (AML) is a replacement for the default game launchers from XCOM 2 and XCOM Chimera Squad. 项目地址: https://gitcode.com/gh_mirrors/xc/xcom2-lau…