2026 LangChain 入门:环境搭建 + 国产大模型调用与消息结构全解
一、前言CSDN 标准引流开头本文旨在解决这些痛点为零基础开发者提供一份2026年最新的LangChain入门指南。我们将聚焦两大核心模块环境搭建和模型调用并深入解析LangChain的消息结构机制这是后续学习RAG、Agent、多轮对话的基石。适合人群LangChain初学者准备入门大模型应用开发的同学阅读收获成功搭建可用的LangChain开发环境跑通通义千问、DeepSeek等国产大模型调用彻底理解LLM与ChatModel的区别及消息机制二、LangChain核心概述2.1 什么是LangChainLangChain是一个用于开发由语言模型驱动的应用程序的框架。它通过提供标准化的接口、组件和工具链简化了构建复杂LLM应用的过程。通俗来说LangChain就像是大模型应用的脚手架帮你处理对话管理、工具调用、知识检索等复杂逻辑。2.2 LangChain能做什么对话应用构建智能聊天机器人知识库问答基于文档的检索增强生成RAG智能体Agent让大模型使用工具完成任务工具调用集成外部API和函数2.3 2026新版结构变化重点2026年LangChain最大的变化是包结构拆分langchain-core核心抽象和接口langchain标准集成和常用链langchain-community第三方集成和社区贡献新手报错根源很多旧教程使用from langchain.llms import OpenAI但在新版本中需要改为from langchain_community.llms import OpenAI或使用对应的国产模型集成。三、2026最新LangChain环境搭建可直接复制3.1 适配版本说明推荐使用Python 3.10版本这是大多数AI框架支持的最低版本。3.2 极速安装命令使用国内清华镜像源解决超时和下载慢的问题pip install langchain langchain-community dashscope -i https://pypi.tuna.tsinghua.edu.cn/simple3.3 必须安装的三大核心包langchain核心框架langchain-community社区集成包含国产模型支持dashscope通义千问官方SDK3.4 安装成功校验代码创建一个check_env.py文件import sys try: import langchain import langchain_community import dashscope print(✅ 环境检查通过) print(fPython版本: {sys.version}) print(fLangChain版本: {langchain.version}) except ImportError as e: print(f❌ 导入失败: {e}) print(请检查安装命令是否正确执行)3.5 新手高频报错解决错误1ModuleNotFoundError: No module named langchain_community解决方案确保安装了langchain_community包注意是下划线分隔。错误2包版本冲突、依赖过低解决方案创建干净的虚拟环境或使用以下命令升级pip install --upgrade langchain langchain-community四、国产大模型密钥申请4.1 通义千问Key免费获取步骤访问阿里云官网aliyun.com注册账号进入模型服务灵积dashscope.aliyun.com完成实名认证个人认证即可在API-KEY管理中创建新密钥免费额度通义千问-Max有100万token免费额度4.2 DeepSeek Key免费获取步骤访问DeepSeek官网deepseek.com注册账号进入控制台-API密钥需要充值使用新手10块钱足够创建新的API密钥4.3 安全使用规范严禁在代码中硬编码密钥推荐使用环境变量# Linux/Mac export DASHSCOPE_API_KEY你的 dashscope-key #要复制自己的API-key到此处 export DEEPSEEK_API_KEY你的 deepseek-key #要复制自己的API-key到此处 Windows set DASHSCOPE_API_KEYyour-dashscope-key set DEEPSEEK_API_KEYyour-deepseek-key# Python代码中读取 import os dashscope_api_key os.getenv(DASHSCOPE_API_KEY) deepseek_api_key os.getenv(DEEPSEEK_API_KEY)五、LangChain两大模型体系解析5.1 LLM与ChatModel本质区别LLM大语言模型纯文本补全模型输入字符串输出字符串示例GPT-3的text-davinci-003ChatModel对话模型对话式模型主流开发方式输入消息列表SystemMessage, HumanMessage, AIMessage输出AIMessage示例GPT-4, 通义千问, DeepSeek-Chat六、核心重点LangChain消息结构全解必掌握本章是后续所有RAG、Agent、多轮对话的底层基础必须彻底理解6.1 三种基础消息角色作用SystemMessage系统人设、全局指令from langchain_core.messages import SystemMessage system_msg SystemMessage(content你是一个专业的Python编程助手回答要简洁准确。)HumanMessage用户输入提问from langchain_core.messages import HumanMessage human_msg HumanMessage(content如何用Python读取CSV文件)AIMessage模型返回结果from langchain_core.messages import AIMessage ai_msg AIMessage(content可以使用pandas库的read_csv函数...)6.2 单轮对话消息结构代码演示from langchain_core.messages import SystemMessage, HumanMessage from langchain_community.chat_models import ChatTongyi 1. 初始化模型 chat ChatTongyi( dashscope_api_keyos.getenv(DASHSCOPE_API_KEY), modelqwen-max, temperature0.7 ) 2. 构建消息列表 messages [ SystemMessage(content你是一个技术文档编写助手。), HumanMessage(content请用Markdown格式写一个Python函数的文档字符串。) ] 3. 调用模型 response chat.invoke(messages) print(response.content)6.3 多轮对话消息列表拼接原理# 第一轮对话 messages [ SystemMessage(content你是一个数学老师。), HumanMessage(content什么是勾股定理), AIMessage(content勾股定理是...) # 模型上一轮的回答 ] 第二轮对话追加新的人类消息 messages.append(HumanMessage(content请给出一个例子)) 继续调用 response chat.invoke(messages)6.4 为什么必须用消息结构不能直接字符串提问角色区分让模型清楚每段内容的来源和意图对话历史方便维护多轮对话上下文系统指令通过SystemMessage持久化设定模型行为框架兼容LangChain的链、记忆、Agent都基于消息结构七、实战通义千问/DeepSeek双模型调用完整代码7.1 方式一基础单轮模型调用极简入门from langchain_community.chat_models import ChatTongyi, ChatDeepSeek import os #通义千问调用 qwen_chat ChatTongyi( dashscope_api_keyos.getenv(DASHSCOPE_API_KEY), modelqwen-max ) response qwen_chat.invoke(用Python写一个Hello World程序) print(通义千问回答:, response.content) #DeepSeek调用 deepseek_chat ChatDeepSeek( api_keyos.getenv(DEEPSEEK_API_KEY), modeldeepseek-chat ) response deepseek_chat.invoke(用Python写一个Hello World程序) print(DeepSeek回答:, response.content)7.2 方式二标准消息结构调用企业规范写法from langchain_core.messages import SystemMessage, HumanMessage def chat_with_model(model, question, system_promptNone): 标准化的模型调用函数 messages [] if system_prompt: messages.append(SystemMessage(contentsystem_prompt)) messages.append(HumanMessage(contentquestion)) response model.invoke(messages) return response.content #使用示例 system_prompt 你是一个代码审查助手指出代码中的问题并提供改进建议。 question def add(a, b): return a b result chat_with_model(qwen_chat, question, system_prompt) print(result)7.3 双模型一键切换演示class DualModelChat: def __init__(self): self.models { qwen: ChatTongyi( dashscope_api_keyos.getenv(DASHSCOPE_API_KEY), modelqwen-max ), deepseek: ChatDeepSeek( api_keyos.getenv(DEEPSEEK_API_KEY), modeldeepseek-chat ) } def chat(self, model_name, messages): 一键切换模型 if model_name not in self.models: return f不支持模型: {model_name} model self.models[model_name] response model.invoke(messages) return response.content #使用示例 chat_bot DualModelChat() #使用通义千问 messages [ SystemMessage(content你是一个翻译助手), HumanMessage(contentHello, how are you?) ] result1 chat_bot.chat(qwen, messages) #使用DeepSeek result2 chat_bot.chat(deepseek, messages)7.4 运行结果分析与常见接口报错排查常见报错及解决401 UnauthorizedAPI密钥错误或过期429 Too Many Requests超过频率限制等待后重试500 Internal Server Error模型服务端问题稍后重试Model not found模型名称错误检查文档八、新手易错点总结巩固1、2章环境安装版本坑一定要使用2026年新版安装命令注意langchain-community的导入方式导入路径坑从langchain.llms改为langchain_community.llms或langchain_community.chat_modelsLLM与ChatModel使用场景混淆对话应用一律使用ChatModel和消息结构不懂消息结构导致多轮对话写崩牢记消息列表的拼接顺序和角色区分密钥泄露问题永远不要将API密钥提交到GitHub等公开仓库接口调用超限问题注意免费额度和频率限制生产环境需要监控使用量通过本文的学习你应该已经掌握了2026年LangChain的核心入门技能。接下来可以继续学习提示词模板、记忆机制和RAG等高级主题。记住扎实的基础是构建复杂应用的前提消息结构是LangChain的灵魂务必理解透彻

相关新闻

基于ResNet的胸部X光影像识别系统开发实践

基于ResNet的胸部X光影像识别系统开发实践

1. 项目概述胸部X光影像识别一直是医疗AI领域的热门研究方向。作为一名长期从事医学影像分析的从业者,我最近完成了一个基于ResNet算法的胸部X光影像识别系统,这个项目整合了带标签数据集、模型训练权重以及基于PyQt5的可视化界面,为医生和研…

2026/7/22 4:46:35 阅读更多 →
上海工业一站式涂装服务商:上海善屹涂装,多工艺复合喷涂解决高端制造表面处理痛点

上海工业一站式涂装服务商:上海善屹涂装,多工艺复合喷涂解决高端制造表面处理痛点

一、上海本地涂装市场现状:制造企业选择喷涂加工厂的核心痛点2026 年长三角高端制造产业持续扩容,新能源汽车、精密医疗设备、户外工程机械、不锈钢泵阀金属构件出货量逐年上涨,金属表面涂装不再只是简单上色,而是决定产品使用寿命…

2026/7/22 4:46:35 阅读更多 →
03-协议基础02:USB架构与设备交互

03-协议基础02:USB架构与设备交互

文章目录 概述 一、USB拓扑结构回顾 1.1 Root Hub与External Hub 二、USB设备状态迁移 2.1 状态机 2.2 状态详解 2.3 从连接到可用 三、USB设备硬件识别 3.1 速度分类 3.2 全速设备识别 3.3 低速设备识别 3.4 高速设备识别(Chirp协商) 3.5 高速协商三种情况 四、USB3.0设备识别…

2026/7/22 4:46:35 阅读更多 →

最新新闻

使用Visual C++为Authorware 7开发DLL:从原理到部署的完整指南

使用Visual C++为Authorware 7开发DLL:从原理到部署的完整指南

1. 项目概述与核心价值如果你是一位还在维护或开发Authorware 7项目的多媒体工程师,那么你大概率会遇到一个经典困境:Authorware自带的脚本功能(比如它的计算图标)在处理复杂逻辑、高性能计算或者与特定硬件(如串口、U…

2026/7/22 5:24:47 阅读更多 →
C++网络编程实战:从TCP Socket到多线程聊天室开发

C++网络编程实战:从TCP Socket到多线程聊天室开发

1. 项目概述:从零构建一个网络聊天工具最近在社区里看到不少朋友对网络编程感兴趣,尤其是想用C亲手实现一个能实际跑起来的聊天工具。这确实是个经典又极具学习价值的练手项目。它不像写个简单的控制台计算器,而是需要你把C的面向对象、多线程…

2026/7/22 5:24:47 阅读更多 →
C++实现HOG+SVM目标检测:从特征提取到多尺度检测全流程详解

C++实现HOG+SVM目标检测:从特征提取到多尺度检测全流程详解

1. 项目概述:从HOG到Felzenszwalb的经典传承如果你在计算机视觉领域摸爬滚打有些年头,一定对“HOGSVM”这套组合拳不陌生。在深度学习一统天下之前,这可是目标检测领域的“屠龙刀”,尤其是在行人检测任务上,几乎是无敌…

2026/7/22 5:24:47 阅读更多 →
信奥赛题B4167扫雷:从游戏规则到C++模拟算法的完整实现

信奥赛题B4167扫雷:从游戏规则到C++模拟算法的完整实现

1. 项目概述:从“扫雷”游戏到信奥赛题的跨越看到“打卡信奥刷题(1399)用C实现信奥 B4167 [GXPC-S 2024] 扫雷”这个标题,很多刚接触信息学奥赛(OI)的同学可能会会心一笑。这不就是Windows系统里那个经典的…

2026/7/22 5:24:47 阅读更多 →
C++内存管理全解析:从智能指针到多线程优化实战

C++内存管理全解析:从智能指针到多线程优化实战

1. 项目概述:为什么我们需要深入内存迷宫? 干了这么多年C/C开发,我越来越觉得,内存管理这门手艺,就像是在一个庞大而复杂的迷宫里寻宝。你手里握着指针这把钥匙,能打开无数扇门,但稍有不慎&…

2026/7/22 5:24:47 阅读更多 →
超级App:当IM成为企业架构的神经中枢

超级App:当IM成为企业架构的神经中枢

超级App:当IM成为企业架构的“神经中枢”,集成逻辑正被重新定义 现象:从“系统烟囱”到“超级App”的呼声为何突然爆发一场静默的反思正在头部企业CIO群体中蔓延。过去十年,企业以近乎军备竞赛的姿态建设了几十套业务系统&#xf…

2026/7/22 5:23:47 阅读更多 →

日新闻

TI DSP系统配置模块SYSCFG详解:中断机制与主设备优先级配置实战

TI DSP系统配置模块SYSCFG详解:中断机制与主设备优先级配置实战

1. 项目概述与SYSCFG模块的核心价值在嵌入式系统,尤其是像TI C6000系列这样的高性能DSP开发中,我们常常会与芯片手册里那些密密麻麻的寄存器打交道。很多开发者可能更关注算法实现、内存优化或者外设驱动,但对于一个稳定、高效的系统而言&…

2026/7/22 0:00:26 阅读更多 →
微信Server酱:高到达率的应急通知方案实践

微信Server酱:高到达率的应急通知方案实践

1. 为什么我们需要"最次"的通知方案? 在数字化协作环境中,消息通知系统的重要性不言而喻明。但现实情况是,企业级通知方案往往需要复杂的API对接(如企业微信、钉钉、飞书),个人开发者的小项目又经…

2026/7/22 0:00:26 阅读更多 →
甲方要的“简洁“PPT,到底是简洁还是省事?

甲方要的“简洁“PPT,到底是简洁还是省事?

甲方说"简洁一点",乙方听到的是"少做几页"。甲方说"不要太复杂",乙方理解成"别放图表了"。结果交过去,甲方说"我说的简洁不是这个意思"。"简洁"这个词在PPT语境里,是…

2026/7/22 0:00:26 阅读更多 →

周新闻

Go语言静态资源打包方案对比与实践指南

Go语言静态资源打包方案对比与实践指南

1. 项目背景与核心需求在Go语言开发中,我们经常需要处理静态资源文件的打包问题。无论是Web应用的模板文件、前端资源,还是配置文件、证书等,都需要随程序一起分发。传统做法是将这些文件与编译后的二进制文件放在同一目录下,但这…

2026/7/21 8:48:31 阅读更多 →
Go语言实现高性能LDAP认证服务的架构与实践

Go语言实现高性能LDAP认证服务的架构与实践

1. 项目背景与核心价值LDAP(轻量级目录访问协议)作为企业级身份认证的黄金标准,已经服务了超过80%的财富500强公司。我在金融科技领域实施统一认证体系时,发现传统Java方案存在启动慢、内存占用高等痛点。而Go语言凭借其协程并发模…

2026/7/21 5:34:47 阅读更多 →
【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

更多请点击: https://intelliparadigm.com 第一章:AI面试官实战指南的核心价值与适用场景 AI面试官并非替代人类HR的“黑箱工具”,而是以可解释、可审计、可迭代的方式,赋能招聘全链路的关键基础设施。其核心价值在于将主观经验沉…

2026/7/21 8:25:39 阅读更多 →

月新闻