2026/4/1 11:39:54
网站建设
项目流程
国际网站建设经验,卓老师建站网站后台如何直接登陆,郑州网站推广报价,微信开放平台文档文章目录#x1f4c4; 基本信息#x1f680; LangChain框架概述核心定位生态系统核心价值使用建议选择考量#x1f9e9; LangChain核心抽象详解核心抽象组件ChatModel详解PromptTemplate详解OutputParser详解核心抽象的价值#x1f4dd; 使用示例运行结果#x1f3af; 功能…文章目录 基本信息 LangChain框架概述核心定位生态系统核心价值使用建议选择考量 LangChain核心抽象详解核心抽象组件ChatModel详解PromptTemplate详解OutputParser详解核心抽象的价值 使用示例运行结果 功能概述 核心技术点 代码结构分析 关键代码解析1. 三大核心组件初始化2. Chain构造与执行3. 流式响应处理 扩展使用示例运行结果 学习建议 相关资源 总结 基本信息创建时间2025-12-24 18:02作者zuozewei功能LangChain三大核心组件演示技术栈Python、LangChain、DeepSeek API LangChain框架概述核心定位LangChain是一个开发框架提供基础抽象和LangChain表达式语言(LCEL)通过管道符简化了组装链的过程提升了代码的表达性。它不只是一个框架而是一个完整的生态系统包括社区生态和扩展生态。生态系统社区生态包含大量的各种实现和工具需要根据需求选择相应的实现扩展生态包括LangServe、LangSmith、LangGraph等工具和平台提供更多可做的事情核心库提供基础组件和抽象核心价值学习材料提供了大量示例和提示词模板是一个很好的学习资源基础抽象提供了一些开发应用所需的基础抽象大部分实现由社区生态提供表达式语言LCEL通过管道符简化了组装链的过程提升了代码的表达性完整生态从框架到工具链提供完整的大模型应用开发支持使用建议需求评估根据自己的情况评估使用场景LangChain不是社区里的唯一选择持续关注持续关注和了解LangChain的新发展生态利用充分利用社区生态和扩展生态提供的资源合理选择根据项目需求和团队情况评估是否选择使用LangChain选择考量项目规模小型项目可能只需要部分组件团队熟悉度考虑团队对框架的熟悉程度定制需求评估框架是否满足特定定制需求长期维护考虑框架的可持续性和社区支持 LangChain核心抽象详解核心抽象组件LangChain的核心抽象包括ChatModel、PromptTemplate和OutputParser它们是构建大模型应用的核心部分分别处理模型调用、输入和输出。ChatModel详解核心地位是整个框架的核心根据输入的内容生成输出调用方法同步调用使用invoke()方法流式处理使用stream()方法批处理处理多个输入异步调用使用ainvoke()等异步方法社区实现如OpenAI提供了ChatModel和Embedding模型统一放到langchain-openai包中简化代码通过统一接口简化了不同模型服务的调用代码PromptTemplate详解概念用于预置提示词可以不断调整以达到更好的效果共享性可以共享给其他开发者使用使用方法创建模板定义提示词结构和占位符组装模型链与ChatModel和OutputParser组合调用链通过替换占位符将输入参数处理成发给模型的消息有效拆分有效拆分了开发者提示词和用户提示词OutputParser详解功能负责处理输出结果的解析过程常用解析器StrOutputParser将输出解析为字符串JsonOutputParser将输出解析为JSON格式其他解析器JSON、CSV、分隔符、枚举等格式解析器相应的格式指令包含格式指令处理输出时包含了格式指令确保输出符合预期格式核心抽象的价值统一接口提供了标准化的接口简化了开发流程职责分离ChatModel处理模型调用PromptTemplate处理输入OutputParser处理输出灵活性可以根据需要组合不同的实现扩展性社区可以提供更多的实现和工具 使用示例# -*- coding: utf-8 -*- Time : 2026/01/02 09:39 Author : zuozewei File : 2.LangChain的核心抽象.py Desc : LangChain的核心抽象 importosimportdotenvfromlangchain_core.output_parsersimportStrOutputParserfromlangchain_core.promptsimportChatPromptTemplatefromlangchain_openaiimportChatOpenAI# 加载环境变量dotenv.load_dotenv()# ChatModel: 对于大模型的抽象llmChatOpenAI(openai_api_keyos.getenv(OPENAI_API_KEY),openai_api_baseos.getenv(OPENAI_API_BASE),model_nameos.getenv(AI_MODEL,deepseek-chat),)# PromptTemplate: 负责编排提示词promptChatPromptTemplate.from_messages([(system,请将下面的内容翻译成英文),(user,{text}),])# OutputParser: 负责解析LLM的生成结果parserStrOutputParser()# 构造Chain# Chain中组件的声明顺序,就是其实际的执行顺序chainprompt|llm|parser# 调用Chain,获取执行结果# 采用流式响应# 流式响应返回的是一个Token的Iterator,可以通过for循环遍历streamchain.stream({text:床前明月光,疑似地上霜})forchunkinstream:print(chunk,flushTrue,end)print()运行结果Before my bed, there is bright moonlight, It seems like frost on the ground. 功能概述示例展示了LangChain框架的三大核心抽象组件ChatModel、PromptTemplate和OutputParser并演示了如何使用管道操作符|将这些组件串联起来形成一个完整的处理链。 核心技术点LangChain核心组件管道操作符串联流式响应处理提示词模板输出解析 代码结构分析1. 导入依赖库2. 加载环境变量3. 初始化ChatModel4. 创建PromptTemplate5. 定义OutputParser6. 构造处理Chain7. 调用Chain并处理流式响应 关键代码解析1. 三大核心组件初始化# ChatModel: 对于大模型的抽象llmChatOpenAI(openai_api_keyos.getenv(OPENAI_API_KEY),openai_api_baseos.getenv(OPENAI_API_BASE),model_nameos.getenv(AI_MODEL,deepseek-chat),)# PromptTemplate: 负责编排提示词promptChatPromptTemplate.from_messages([(system,请将下面的内容翻译成英文),(user,{text}),])# OutputParser: 负责解析LLM的生成结果parserStrOutputParser()ChatModel抽象了不同的大模型服务提供统一接口PromptTemplate管理提示词的结构和变量支持模板化OutputParser将模型输出转换为结构化数据如字符串、JSON等2. Chain构造与执行# 构造Chain# Chain中组件的声明顺序,就是其实际的执行顺序chainprompt|llm|parser使用管道操作符|串联组件形成数据处理流程执行顺序prompt → llm → parserChain的构造方式简洁明了便于维护和扩展3. 流式响应处理# 调用Chain,获取执行结果# 采用流式响应# 流式响应返回的是一个Token的Iterator,可以通过for循环遍历streamchain.stream({text:床前明月光,疑似地上霜})forchunkinstream:print(chunk,flushTrue,end)print()使用stream()方法获取流式响应通过迭代器逐个获取生成的Token设置flushTrue和end实现实时输出效果 扩展使用示例# -*- coding: utf-8 -*- Time : 2026/01/02 09:39 Author : zuozewei File : 2.LangChain的核心抽象.py Desc : LangChain的核心抽象 - 情感分析示例 importosimportdotenvfromlangchain_core.promptsimportChatPromptTemplatefromlangchain_core.output_parsersimportStrOutputParserfromlangchain_openaiimportChatOpenAI# 加载环境变量dotenv.load_dotenv()# 定义情感分析提示词promptChatPromptTemplate.from_messages([(system,请分析用户输入的情感倾向返回积极、消极或中性。),(user,{text}),])# 初始化组件llmChatOpenAI(model_nameos.getenv(AI_MODEL,deepseek-chat))parserStrOutputParser()# 构造并执行Chainchainprompt|llm|parser resultchain.invoke({text:今天天气真好心情非常愉快})print(f情感分析结果:{result})运行结果情感分析结果: 积极 学习建议组件组合尝试组合不同的PromptTemplate、ChatModel和OutputParser实现多样化功能参数调优根据任务需求调整LLM的temperature、max_tokens等参数错误处理为Chain添加异常处理机制提高代码健壮性扩展组件学习自定义PromptTemplate和OutputParser满足特定需求性能优化对于高频调用考虑添加缓存机制 相关资源LangChain官方文档LangChain核心组件DeepSeek API文档 总结LangChain框架通过ChatModel、PromptTemplate和OutputParser三大核心抽象为大模型应用开发提供了标准化的接口和灵活的组合方式。使用管道操作符|可以轻松串联这些组件形成完整的处理链简化了代码结构提升了开发效率。本文通过详细的代码示例和解析展示了如何使用LangChain的核心组件构建实际应用包括基本的翻译功能和情感分析功能。同时本文还介绍了LangChain的生态系统和使用建议帮助开发者更好地理解和应用这一框架。最终是否选择LangChain应基于个人或团队的具体需求评估权衡其优势与局限性充分利用其生态系统的价值为大模型应用开发赋能。