
一、LangChain 是开源项目项目地址LangChain · GitHubLangChain 是一个专为大语言模型LLM应用开发设计的开源框架其核心目标是降低复杂 LLM 应用的开发门槛通过模块化组件和灵活的工作流让开发者能够快速构建具备“连接外部资源”“处理多步骤任务”“记忆上下文”等能力的智能应用。它并非大模型本身而是“大模型的操作系统”负责串联模型、数据、工具与逻辑解决 LLM 原生能力的局限如知识过时、无法交互外部系统、难以处理长流程任务等。二、LangChain 的核心组件1.模型 I/O 封装Chat Models对语言模型接口的封装PromptTemple提示词模板OutputParser解析输出2.数据连接封装弱于 LlamaIndexDocument Loaders各种格式文件的加载器Document Transformers对文档的常用操作如split, filter, translate, extract metadata, etcText Embedding Models文本向量化表示用于检索等操作Verctorstores Retrievers向量数据库与向量检索3.架构封装- Chain/LCEL实现一个功能或者一系列顺序功能组合- Agent根据用户输入自动规划执行步骤自动选择每步需要的工具最终完成用户指定的功能- Tools调用外部功能的函数例如调 google 搜索、文件 I/O、Linux Shell 等等- LangGraph工作流开发框架4.LangSmith过程监控与框架这张图展示了LangChain相关的技术生态架构涵盖了LangChain、LangGraph、LangGraph Platform 、LangSmith等多个关键部分以下是详细介绍三、总结LangChain 作为大语言模型应用开发的开源框架通过其模块化设计有效降低了复杂 LLM 应用的开发门槛。其核心价值体现在模块化封装将模型 I/O、数据连接、提示词模板等常用功能封装为可复用组件简化开发流程。架构支持提供 Chain、Agent、Tools 和 LangGraph 等架构模式支持构建多步骤、可交互的智能工作流。生态完善通过 LangSmith 等工具提供全链路监控与调试能力形成从开发到部署的完整技术栈。定位清晰作为“大模型的操作系统”专注于解决 LLM 在知识实时性、外部系统交互和长流程任务处理等方面的局限性。总体而言LangChain 为开发者提供了一个高效、灵活的框架使得构建具备外部资源连接、上下文记忆和复杂任务处理能力的 AI 应用变得更加可行和便捷。我讲个关于{subject}的笑话) print(Template) print(template) print(Prompt) print(template.format(subject小明/Users/baimu/miniconda3/envs/myenv_faiss/bin/python /Users/baimu/PycharmProjects/2505A/boss-llm/boss/utils/langchain/test3.py Template input_variables[subject] input_types{} partial_variables{} template给我讲个关于{subject}的笑话 Prompt 给我讲个关于小明的笑话 Process finished with exit code 0from langchain.chat_models import init_chat_model # 定义 LLM llm init_chat_model(deepseek-chat, model_providerdeepseek) # 通过 Prompt 调用 LLM ret llm.invoke(template.format(subject小明)) # 打印输出 print(ret.content)/Users/baimu/miniconda3/envs/myenv_faiss/bin/python /Users/baimu/PycharmProjects/2505A/boss-llm/boss/utils/langchain/test3.py Template input_variables[subject] input_types{} partial_variables{} template给我讲个关于{subject}的笑话 Prompt 小明去参加考试监考老师提醒“与考题无关的纸条不要传” 小明问“那蛋糕可以传吗” 老师愣了一下“蛋糕为什么要传蛋糕” 小明认真解释“因为我和隔壁同学都想庆祝一下——庆祝这次考试我们又稳了” 老师冷笑“你们稳什么稳” 小明举起空白的试卷“稳挂科啊” 老师当场掏出一块巧克力“先吃点甜的补补脑再编理由……” Process finished with exit code 02.ChatPromptTemplate 用模板表示的对话上下文from langchain.prompts import ( ChatPromptTemplate, HumanMessagePromptTemplate, SystemMessagePromptTemplate, ) from langchain.chat_models import init_chat_model llm init_chat_model(deepseek-chat, model_providerdeepseek) template ChatPromptTemplate.from_messages( [ SystemMessagePromptTemplate.from_template(你是{product}的客服助手。你的名字叫{name}), HumanMessagePromptTemplate.from_template({query}) ] ) prompt template.format_messages( product积云教育大模型课程, name小积, query你是谁 ) print(prompt) ret llm.invoke(prompt) print(ret.content)/Users/baimu/miniconda3/envs/myenv_faiss/bin/python /Users/baimu/PycharmProjects/2505A/boss-llm/boss/utils/langchain/test4.py [SystemMessage(content你是积云教育大模型课程的客服助手。你的名字叫小积, additional_kwargs{}, response_metadata{}), HumanMessage(content你是谁, additional_kwargs{}, response_metadata{})] 你好呀我是小积积云教育大模型课程的专属客服助手~ 有什么问题随时问我哦 Process finished with exit code 03. MessagesPlaceholder 把多轮对话变成模板from langchain.chat_models import init_chat_model from langchain.prompts import ( ChatPromptTemplate, HumanMessagePromptTemplate, MessagesPlaceholder, ) human_prompt Translate your answer to {language}. human_message_template HumanMessagePromptTemplate.from_template(human_prompt) chat_prompt ChatPromptTemplate.from_messages( # variable_name 是 message placeholder 在模板中的变量名 # 用于在赋值时使用 [MessagesPlaceholder(history), human_message_template] ) from langchain_core.messages import AIMessage, HumanMessage human_message HumanMessage(contentWho is Elon Musk?) ai_message AIMessage( contentElon Musk is a billionaire entrepreneur, inventor, and industrial designer ) messages chat_prompt.format_prompt( # 对 history 和 language 赋值 history[human_message, ai_message], language中文 ) print(messages.to_messages()) llm init_chat_model(deepseek-chat, model_providerdeepseek ) result llm.invoke(messages) print(result.content)/Users/baimu/miniconda3/envs/myenv_faiss/bin/python /Users/baimu/PycharmProjects/2505A/boss-llm/boss/utils/langchain/test5.py [HumanMessage(contentWho is Elon Musk?, additional_kwargs{}, response_metadata{}), AIMessage(contentElon Musk is a billionaire entrepreneur, inventor, and industrial designer, additional_kwargs{}, response_metadata{}), HumanMessage(contentTranslate your answer to 中文., additional_kwargs{}, response_metadata{})] 好的这是关于埃隆·马斯克的中文介绍 埃隆·马斯克是一位出生于南非的企业家、工程师、发明家和投资人。他以其宏大的愿景和在多个前沿科技领域的开创性工作而闻名于世。 以下是关于他的关键信息 **1. 主要成就与公司** 他创立或领导了多家极具影响力的公司每一家都旨在解决人类面临的重大挑战或开拓未来科技 * **特斯拉** 作为首席执行官和产品架构师他推动了电动汽车的普及和革命并致力于太阳能和清洁能源。 * **SpaceX** 作为首席执行官和首席技术官他的目标是降低太空运输成本最终实现人类的火星殖民。该公司已成功实现火箭的可重复使用。 * **X原名 Twitter** 他收购了这家社交媒体平台并正在进行一系列改革。 * **Neuralink** 专注于开发高带宽的脑机接口旨在连接人脑与计算机以治疗脑部疾病并增强人类能力。 * **The Boring Company** 致力于通过挖掘地下隧道网络来解决城市交通拥堵问题。 * **xAI** 他新成立的人工智能公司旨在“理解宇宙的真实本质”。 **2. 个人背景与特点** * **国籍** 他拥有南非、加拿大和美国三重国籍。 * **愿景** 他的核心目标被描述为“解决人类面临的最大生存威胁”并“延长人类的寿命”例如通过转向可持续能源特斯拉、成为多行星物种SpaceX以及防范人工智能的风险xAI。 * **公众形象** 他以在社交媒体特别是X平台上非常活跃、直言不讳且时常引发争议而著称。他的工作风格极其勤奋对未来的设想也极为大胆。 总而言之埃隆·马斯克被广泛认为是当今时代最具创新力和影响力的商业领袖之一他正在通过他的公司塑造着交通、能源、太空探索和人工智能等领域的未来。 Process finished with exit code 0