如果你是什么那快乐就是什么| 减肥晚餐适合吃什么| 榴莲壳有什么用处| 补钙吃什么维生素| 工作坊是什么意思| 铁蛋白低是什么原因| 皮肤黑适合什么颜色的衣服| 失能是什么意思| cdc是什么| 什么样的浪花| 急性肠胃炎吃什么水果| 安踏是什么品牌| 垮掉是什么意思| 什么是胰腺炎| 便秘吃什么药能根治| 6月20日是什么日子| 经常打屁是什么原因| 屁股生疮是什么原因| 斗牛为什么用红色的布| 压马路是什么意思| 男人吃逍遥丸治什么病| 鹅吃什么| 唐朝什么时候灭亡的| 哥谭市是什么意思| 一什么雨| 拒服兵役是什么意思| 男性手心热是什么原因| 什么是基础医学| 淋巴结是什么东西| 吃什么油对身体好| 怀孕的脉象是什么样的| 磁共振和核磁共振有什么区别| 年轻人创业做什么好| 碉堡是什么意思啊| 上升水瓶座为什么可怕| 12.28是什么星座| 老是说梦话是什么原因| 阴囊湿疹用什么药膏效果最好| 活字印刷术是什么时候发明的| 42是什么意思| 过敏有什么症状表现| 义父什么意思| 7月27日什么星座| 什么是穿刺检查| 杀鸡取卵是什么生肖| 排卵试纸什么时候测最准确| 皮肤擦伤用什么药膏| 履新是什么意思| 长黑斑是什么原因引起的| 多囊不能吃什么食物| 口腔上火了吃什么降火最快| 梦见蛇咬别人是什么意思| ppa是什么药| 早晨嘴苦是什么原因引起的| 卅什么意思| 桃子不能跟什么一起吃| 梦见旋风是什么预兆| 长期吃阿司匹林有什么副作用| 赵云的武器叫什么| 壳心念什么| 前列腺炎是什么症状| 色觉异常是什么意思| 经常生病是什么原因| 白细胞弱阳性是什么意思| 2018属什么生肖| 不解什么什么| 辛味是什么味| pu是什么元素| 牛鞭是什么| 六月份适合种什么菜| 静的部首是什么| 什么的河流| 梦见打老虎是什么预兆| 黄连水有什么作用与功效| 石斛什么人不适合吃| 黄泉路什么意思| 大红袍属于什么茶类| 喝隔夜茶有什么好处和坏处| 脱靶是什么意思| 麝香是什么东西| 3月14号是什么星座| 专项变应原筛查是什么| 升阳举陷是什么意思| 有血尿是什么原因| touch是什么意思| 支气管扩张是什么意思| 蓝莓什么时候种植| 九霄云外是什么生肖| 双环征是什么意思| seeya是什么意思| mfg什么意思| 胸膜牵拉是什么意思| 什么旺土| 孩子反复发烧是什么原因| 青定读什么| 拍身份证穿什么颜色衣服| 五月二十六是什么星座| 小猫呕吐吃什么药| 喉咙痛挂什么科| 看望老人买什么礼物好| 非洲人吃什么主食| smr是什么意思| 什么是组织| 氟斑牙是什么原因造成的| 复健是什么意思| 半夜饿是什么原因| 受精卵着床的时候会有什么症状| 腿上紫色血丝什么原因| 牙周炎吃什么药效果好| 嗯是什么意思| 拔罐有什么作用和功效| 身上长癣是什么原因| 黑眼圈是什么原因造成的| 女燕读什么| 五六月份是什么星座| 来大姨妈拉肚子是什么原因| 什么是屈光不正| 动脉硬化是什么症状| 发呆是什么意思| 疯狂动物城闪电是什么动物| fresh是什么意思| 三黄鸡为什么那么便宜| 尼特族是什么意思| 超级碗是什么比赛| 处女座上升星座是什么| 大师是什么意思| 竹外桃花三两枝的下一句是什么| 温煦是什么意思| 不射精是什么原因| 警察两杠三星是什么级别| 开端是什么意思| 胎停是什么原因造成的| 拔牙后吃什么消炎药| 苏州立秋吃什么| 白带像豆腐渣用什么药| 女人吃桃子有什么好处| 什么玩意儿| 楚怀王和芈月什么关系| 见路不走是什么意思| 钙化影是什么意思| 八朵玫瑰花代表什么意思| 檄文是什么意思| 万事达卡是什么卡| 弱不禁风是什么生肖| 调教什么意思| 血稠是什么原因引起的| 淋巴细胞计数偏低是什么原因| godiva是什么牌子| 标准的青色是什么颜色| k1什么意思| 在什么之前的英文| 胰腺不好吃什么食物好| 阴道炎吃什么| 三个手念什么| 吃什么愈合伤口恢复最快| 出海什么意思| 夏天手上长小水泡是什么原因| 7月30号什么星座| 料油是什么油| 小孩老是肚子疼是什么原因| 桃子不能和什么水果一起吃| 一什么月牙| 下面瘙痒是什么原因| 汗管瘤用什么药能去掉| 毛是什么意思| 7.30是什么星座| 梦见煮饭是什么意思| 扁桃体发炎引起的发烧吃什么药| 工作单位是什么意思| 计提工资是什么意思| 总警司相当于大陆什么官| 令是什么生肖| 长红疹是什么原因| 蔡英文是什么党派| 肋膈角锐利是什么意思| 火鸡面为什么这么贵| 梦到被猪咬是什么意思| 胃胀气吃什么药好| 前三个月怀孕注意什么| 为什么新生儿有胎记| leg是什么意思| 高血压什么症状表现| 炝锅是什么意思| 录取线差是什么意思| 出殡什么意思| 检查胸部挂什么科| 双肺纹理增多是什么意思| 个人送保是什么意思| 被是什么偏旁怎么读| 内分泌失调吃什么药| 本色出演是什么意思| black什么颜色| 为什么会有地震| 龟头炎用什么药膏| 什么是不动产权证| 头不自觉的晃动是什么原因| c肽是什么意思| 鱼油不能和什么一起吃| 白质脱髓鞘是什么病| 素鸡是什么做的| 肝肾不足是什么意思| 痛经看什么科| 12月有什么节日| 解惑是什么意思| 打完耳洞不能吃什么| les是什么意思| 团宠是什么意思| 半夜口干舌燥是什么原因| 梦见大领导有什么预兆| 高大上的意思是什么| 单硬脂酸甘油酯是什么| 汕头有什么好玩的景点| 腰酸是什么原因引起的| 左腿麻木是什么征兆| 什么叫偏财| 尖锐湿疣的症状是什么| 百合花语是什么意思| 舍是什么结构| 诗意是什么意思| 色盲色弱是什么意思| k代表什么意思| 60年属鼠是什么命| 足跟疼痛用什么药| 出身是什么意思| 什么人会得免疫性脑炎| 化疗吃什么补白细胞| 戴银镯子变黑是什么原因| 大耗是什么意思| 孕妇肾积水是什么原因引起的| 扁桃体结石是什么原因引起的| 2001属什么| 美妙绝伦是什么意思| 肚子疼去医院挂什么科| bni是什么意思| 法令纹深是什么原因| 盐酸西替利嗪片主治什么| 水仙是什么茶| 苏轼为什么反对王安石变法| 立夏吃什么食物| 四面八方指什么生肖| 前辈是什么意思| 灰指甲是什么样的| 傻白甜是什么意思| lv属于什么档次| 什么地生长| 枸杞与菊花一起泡水喝有什么功效| 分野是什么意思| 49年属什么生肖| 不想说话是什么原因| 1924年属什么| 生理曲度变直什么意思| 爸爸的姥姥叫什么| 血压高可以吃什么水果| 乳酸菌和益生菌有什么区别| 喉咙有白痰是什么原因| 二便是什么意思| 阴道炎吃什么药好| 牛的本命佛是什么佛| 胃不消化吃什么药好| 符号代表什么| 磷高有什么症状和危害| 拜忏是什么意思| 一什么紫丁香| 公知是什么意思| 百度

LangChain框架入门01:LangChain是什么?

一、为什么要了解LangChain?

百度 尤其是那些正在相亲或已经恋爱甚至准备结婚了的准儿媳妇们,看到有的家庭婆媳亲如母女,相处得水乳交融,而有的家庭婆媳关系势如水火,彼此互不兼容时,难免内心忐忑,总希望甚至是渴望自己能够遇到宽容仁慈的开明婆婆,让自己不必伤透脑筋。

近两年来,大语言模型(如ChatGPT、DeepSeek、Claude)持续火爆,从写文案、AI绘图,到写代码、AI智能客服,几乎“无所不能”。并且大语言模型的调用成本越来越低,作为程序员的你可能已经开始尝试用OpenAI、DeepSeek的API做些小应用,但是很快可能就会遇到一些问题:

  • 提示词(Prompt)无法复用,而且内容过长不易管理。
  • 每个大模型都有自己的API,想用多个模型切换很困难,代码耦合很严重。
  • 想自己实现复杂功能,比如多轮对话、工具调用、知识库等功能,导致逻辑混乱。
  • 不同的Prompt、大模型、工具的使用没有统一规范。

因此,LangChain 就出现了,它可以帮助开发者把模型调用、提示词管理、记忆模块、外部工具调用等等模块标准化,不同的模块可自由组合。

二、LangChain是什么?

LangChain 是一个基于Python语言的大语言模型应用开源框架,LangChain可以帮你快速搭好项目架构,下图为LangChain技术体系的示意图。

image-20250713112450099

LangChain技术体系主要包括以下模块:

langchain-core : 封装好的基础聊天模型和其他组件。

integrations:LangChain集成包,目前LangChain会将一些重要的集成包单独拆分出来(例如 langchain-openailangchain-anthropic 等),让集成包更轻量级,这些包将会由LangChain团队和集成包的开发者共同维护。

langchain : 构成AI应用的链、AI agent和检索器。

langchain-community : 社区维护的第三方集成包。

langgraph : LangGraph 专门用于构建能处理 复杂任务流程的 AI 应用。它的核心思想是用 “图”(Graph) 来管理任务流程,就像画一张路线图,让 AI 知道何时该执行什么操作、何时需要循环或分支判断,还能自动记住执行到哪一步了。

langsmith:LangSmith 是 LLM 应用的全生命周期管理平台,覆盖开发→测试→部署→监控全流程,可以观察到AI应用运行的每一个步骤,它与 LangChain深度集成,但它不仅适用于 LangChain,也可以用于监控任何使用 LLM 的应用。

LangChain 目前支持两个主要版本:

  • Python 版(最成熟,社区最大)
  • JavaScript/TypeScript 版(适合前端和Node.js应用)

三、LangChain核心模块简介

在学习LangChain,先了解一些在LangChain框架中,甚至AI应用开发中一些核心的概念和模块,一定要首先清楚地知道是什么,之后再研究怎么做,下图展示了一个LangChain框架开发的应用的核心运行流程。

image-20250714002633828

3.1 LLM接口

LangChain 封装了不同模型的调用方式,它统一了各种模型的接口,切换变得轻松。如下示例,创建了一个gpt-3.5-turbo的LLM模型。

from langchain_community.chat_models import ChatOpenAI

# 创建大语言模型
llm = ChatOpenAI(model="gpt-3.5-turbo")

3.2 PromptTemplate提示词模板

大模型的输出质量在很大程度上取决于提示词(Prompt)的设计,在LangChain 把提示词封装成模板,支持变量动态替换,管理起来更清晰,能灵活控制 Prompt 内容,避免硬编码。

如下示例,一个模板中包含了两条消息,分别是人类消息和系统消息,并且设置了name和question两个动态变量,使用invoke方法进行动态替换,这里invoke之后返回的是渲染后Prompt的内容。

from langchain_core.prompts import ChatPromptTemplate

system_chat_prompt = ChatPromptTemplate.from_messages([
    ("system", "你是一个AI大模型,我是{name}"),
])
human_chat_prompt = ChatPromptTemplate.from_messages([
    ("human", "{question}")
])

chat_prompt = system_chat_prompt + human_chat_prompt

print(chat_prompt.invoke({"name": "alice",
                          "question": "你好,请问你是?"}))

3.3 Chain链

Chain链是 LangChain 的核心思想之一,一个 Chain 就是将多个模块串起来完成一系列操作,Chain链可以将上一步操作的结果交给下一步进行执行,比如用提示词模板生成 Prompt,将渲染后的提示词交给大模型生成回答,再将大模型的回答将结果输出到控制台,Chain和Linux中的管道符十分类似,每一步的输出自动作为下一步输入,实现模块串联。

如下是Chain链的基本实例,它将提示词模板、LLM、输出解析器连接在一起。

prompt = ChatPromptTemplate.from_template("{question}")
llm = ChatOpenAI(model="gpt-3.5-turbo")
parser = StrOutputParser()

chain = prompt | llm | parser

print(chain.invoke({"question": "要把大象装冰箱总共分几步"}))

3.4 RAG检索

在一些LLM的使用场景,需要使用一些特定的文档让LLM根据这些文档的内容进行回复,而这些特定的文档通常不在LLM的训练数据中,此时RAG检索就有用武之地。

在LangChain中,可以读取文档使用知识库,来进行大模型的增强搜索,LangChain封装各种类型的文档读取器,可以将读取文档得到的数据,通过LangChain文档分割器对文档进行分割,通过文本嵌入模型对文本进行向量化,将文本的向量信息保存到向量数据库。

当用户向AI发起提问时,在向量数据库中检索出与提问相关的文档,然后与用户问题一起发送给大模型,这个过程就叫做RAG(检索增强生成,Retrieval-Augmented Generation),RAG 能让大模型回答特定领域的问答变得更加精准、实时,避免出现幻觉。

下面代码示例,展示了LangChain中提供了文档读取相关加载类,对知识库中的文档进行读取。

from langchain_community.document_loaders import TextLoader

textLoader = TextLoader("./项目API文档.txt", encoding="utf-8")

# 加载文档
documents = textLoader.load()

3.5. Memory记忆

在和大模型对话时,大模型本身并不具备有记忆历史对话的功能,但是在ChatGPT、DeepSeek等大模型时,发现它们在同一个会话内有“上下文记忆”的能力,这样能使对话更加连贯。

LangChain 也提供了类似的记忆功能。通过 memory,可以把用户的历史对话保存下来,使大模型拥有历史记忆的能力,如下示例,每一轮对话会从ConversationSummaryBufferMemory中读取历史对话,渲染到Prompt供大模型使用。

对话结束之后,会将对话内容保存到ConversationSummaryBufferMemory,如果历史记忆超过一定大小,为了节省和大模型之间调用的token消耗,会对历史记忆进行摘要提取、压缩之后再保存,这样大模型拥有了记忆功能。

prompt = ChatPromptTemplate.from_messages([
    ('system', "你是OpenAI开发的AI机器人"),
    MessagesPlaceholder("history_chat"),
    ("human", "{question}")
])

memory = ConversationSummaryBufferMemory(max_token_limit=400,return_messages=True,
                                         input_key="question",llm=ChatOpenAI())
llm = ChatOpenAI()
chain = RunnablePassthrough.assign(
    history_chat=RunnableLambda(memory.load_memory_variables) | itemgetter("history_chat")
) | prompt | llm | StrOutputParser()

# 循环进行对话
while True:
  ...

3.6 Tool工具调用

大语言模型本身是一种基于大量数据训练而成的人工智能,它本身是基于大量的数据为基础对结果进行预测,因此,大模型可能会出现给出1+1=3这种情况,大模型本身是不会“上网”, 也不会算数的,因此可以给大模型接入各种各样的工具如Google搜索、高德地图定位信息查询、图像生成等等。

那么大模型是怎么使用工具的呢?在现如今,很多的大模型都支持了工具调用,也就是将可用的工具信息列表在调用大模型时传递过去,这些信息包括工具的用途、参数说明等等,大模型会根据这些工具的作用确定调用哪些工具,并且根据参数的描述,来返回调用工具的参数。

最终将工具调用结果返回给大模型,完成用户交给的任务,整个过程中,大模型会根据任务判断是否调用工具,并组织执行,这个自动决策执行的过程,就是由 agent 完成的。

agent 会自己思考、分步骤执行,非常适合复杂任务处理,后续我们也会深入介绍如何通过 LangChain 创建一个完整的 agent,自动协调多个工具完成复杂任务。

对于那些不支持工具调用的大模型,也可以根据提示词将可选的工具和调用方法传递给大模型,但是大模型的预测有很强的不确定性,返回结果的准确率会显著下降。

四、总结

LangChain 是一个强大又灵活的大模型开发框架,它将 LLM 的调用和创建、提示词管理、记忆、知识库、RAG检索、工具调用等模块化,通过LangChain快速构建 AI 应用。

如果你被各种不同厂商的LLM提供的API写出很多不好维护的代码,那么LangChain就是你最好的选择,本文主要介绍了LangChain框架是什么以及它的核心模块,接下来我们将深入介绍 LangChain 中的每个模块,逐步构建你自己的智能应用,敬请期待下一篇《LangChain框架入门 02:PromptTemplate 提示词模板用法》。欢迎继续关注~

posted @ 2025-08-04 23:06  大志说编程  阅读(35)  评论(0)    收藏  举报
小叶增生和乳腺增生有什么区别 胆囊息肉是什么意思 龙凤呈祥是什么意思 安吉白茶属于什么茶 女人为什么喜欢坏男人
2016年属什么生肖 胆管堵塞有什么症状 林可霉素主治什么病 宫颈口出血是什么原因 彩字五行属什么
胆在什么位置图片 尿胆原阳性是什么病 颜字五行属什么 95年是什么年 脑血栓适合吃什么水果
肾阴虚吃什么 观音菩萨是保佑什么的 屈髋是什么姿势 rsl是什么意思 灰色五行属什么
血热吃什么hcv9jop6ns5r.cn 明年什么生肖hcv9jop5ns7r.cn 后援团是什么意思hcv8jop8ns0r.cn 妙不可言是什么意思hcv8jop2ns0r.cn 白子画什么时候爱上花千骨的hcv7jop9ns2r.cn
1比1是什么意思hcv8jop4ns9r.cn 月经不来吃什么wuhaiwuya.com 烤乳猪用的是什么猪hcv9jop2ns5r.cn 11度穿什么衣服hcv8jop2ns6r.cn 甲状腺不均质改变是什么意思mmeoe.com
楚楚动人什么意思hkuteam.com 戴银镯子对身体有什么好处hcv7jop6ns7r.cn 脚水肿是什么原因xinjiangjialails.com 用什么锅炒菜对人体健康更有益96micro.com 心电图能查出什么zhongyiyatai.com
孙俪最新电视剧叫什么xinmaowt.com 老天爷叫什么名字jingluanji.com 凌霄花什么时候开花hcv9jop2ns2r.cn 慢性肠炎有什么症状hcv8jop9ns3r.cn 阿拉蕾什么意思hcv7jop4ns5r.cn
百度