当前位置: 首页 > news >正文

langchain如何调用模型?一文详解

👋 各位CSDN的开发者朋友们,大家好!

欢迎来到我的技术专栏!如果你正在关注人工智能的最新浪潮,或者正摩拳擦掌准备亲手打造一个属于自己的AI应用,那么恭喜你,来对地方了。在接下来的系列文章中,我将带大家深入探索一个在AI应用开发领域如日中天的开源框架——LangChain,一起解锁大语言模型(LLM)的真正潜力。

🤖 为什么我们需要关注 LangChain?

在这个大模型技术飞速发展的时代,ChatGPT、文心一言等模型已经展现出了惊人的文本生成和理解能力。但很多开发者在实际落地时往往会发现一个痛点:单纯依赖大模型本身,很难构建出功能强大且实用的生产级应用。

大模型的知识往往存在“时间截止”的限制,它不知道今天的实时天气,无法直接访问你本地的私有数据库,也不能替你发送邮件或调用外部API。如果我们只是简单地调用API,不仅提示词难以复用和维护,多步骤的复杂业务流程更是无从下手。

这时候,LangChain 就应运而生了。它被誉为AI应用开发的“瑞士军刀”,核心目标就是解决大模型与真实世界连接的核心痛点。它提供了一套标准化的模块和接口,让我们不必从零开始“造轮子”,就能轻松把大模型与外部数据、计算逻辑以及各种工具连接起来。

🧱 LangChain 能帮我们做什么?

你可以把 LangChain 想象成一套数字世界的“乐高积木”。它通过高度模块化的设计,将复杂的AI开发过程拆解成了一个个可以灵活拼搭的组件:

模型抽象(Models):它统一了各种大模型的调用接口。无论你使用的是OpenAI、DeepSeek,还是本地的开源模型,都可以像换插件一样轻松切换,无需修改业务代码。
提示工程(Prompts):提供了强大的提示词模板管理,让动态构建和优化提示词变得极其简单,大幅提升模型的输出质量。
链式调用(Chains):这是它的名字由来,也是其核心特色。我们可以将多个LLM调用或组件串联成一个连贯的处理流程,轻松实现复杂的自动化任务。
智能代理(Agents):这是目前最激动人心的能力。通过Agents,我们可以让LLM作为决策中枢,自主判断何时调用什么工具(比如搜索引擎、计算器、自定义API),从而突破模型的知识边界。
数据连接与记忆(Data Connection & Memory):它是实现RAG(检索增强生成)的基石,能让AI读取你的私有文档;同时还能在多轮对话中持久化状态,让AI真正“记住”之前说过的内容。
🚀 开启你的 Agent 开发之旅

LangChain 的出现,标志着AI应用开发进入了一个全新的范式。无论你是希望将AI能力集成到现有产品的软件工程师,还是寻求技术转型的程序员,亦或是想了解技术底层逻辑的产品经理,掌握 LangChain 都将成为你极具竞争力的技能。

在接下来的专栏中,我将拒绝枯燥的理论堆砌,坚持“真实项目驱动学习”。我们会从环境搭建开始,一步步亲手写出能调用工具的Agent,构建具备实时查询能力的智能助手,甚至探索多智能体协作等前沿话题。

让我们一起打破信息差,从入门到实战,用代码将天马行空的AI创意变为触手可及的现实!如果你准备好了,就请点个关注,我们马上发车!🚀

目录

一.直接调用模型

前置文章(初始化模型)

1.invoke(阻塞调用)

2.stream(流式调用)

二.在Agent中使用模型

1.创建智能体

2.调用智能体

①阻塞调用

②流式调用

注意


一.直接调用模型

前置文章(初始化模型)

langchain如何初始化模型?一文详解-CSDN博客

1.invoke(阻塞调用)

# 阻塞调用(invoke) response = model.invoke("什么是奥德赛时期?") print(response)

查看运行结果

2.stream(流式调用)

# 阻塞调用(stream) stream = model.stream("你有什么建议给当下的年轻人吗?") # stream调用返回的结果是一个generator,方便我们循环获取结果 print(type(stream)) # 遍历stream结果,就是打印机的效果(一个字一个字地往外蹦) for chunk in stream: print(chunk.content, end="", flush=True)

查看运行效果

二.在Agent中使用模型

1.创建智能体

from langchain.agents import create_agent from dotenv import load_dotenv # 1. 加载项目根目录下的 .env 文件,这样就可以让Langchain自动获取.env文件中的apikey了 load_dotenv() # 2.指定Model名称,由LangChain自动初始化模型 agent = create_agent(model="deepseek-chat")

2.调用智能体

①阻塞调用

# 阻塞调用模型,需要传入一个消息列表 response = agent.invoke({ "messages": [{"role": "user", "content": "火烧是方的还是圆的?"}] }) print(response)

查看运行结果

②流式调用

for token, metadata in agent.stream( {"messages": [{"role": "user", "content": "常说的LA是哪国的哪个城市?"}]}, stream_mode="messages" ): if token.content: # Check if there's actual content print(token.content, end="", flush=True) # Print token

查看运行结果

注意

要注意,Agent的stream模式同样返回一个generator,但是其结构由stream_mode参数决定:

  • messages: 返回LLM生成的每一个片段,是一个包含token和metadata的元组(Tuple)

  • updates: 返回Agent运行过程中的每一次事件,例如与LLM的对话、工具的调用等

  • custom: 返回通过stream writer记录的每一次自定义的输出

如果是为了流式输出AI返回的结果,使用messages模式即可。

http://www.gsyq.cn/news/1436412.html

相关文章:

  • 量化系统难题1_复权后的日k数据_已解决
  • 2026年4月PE钢带波纹管实力厂家推荐,PE穿线管/MPP电力管/PVC排水管,PE钢带波纹管源头厂家口碑推荐 - 品牌推荐师
  • Xenia Canary高级配置指南:5个核心技巧深度优化Xbox 360游戏模拟体验
  • 论文通关利器!常用的AI写作辅助网站,成稿速度破纪录
  • 人民中路万家乐维修老店 咸阳专业热水器售后服务中心 - GrowthUME
  • 基于PIR与ISD1820的120dB可定制语音报警系统设计与实现
  • Windows Cleaner:一款智能实用的Windows系统优化工具
  • 免费解锁Wand专业版:3分钟快速指南与手机远程控制教程
  • 量化系统难题2_结构
  • 基于Arduino的多传感器空气质量监测站DIY全攻略
  • 2026西安大克重金条回收哪家最安全?本地7家门店实测,唐王珠宝大盘直收当面秒结 - 西安闲转记
  • 【紧急预警】Gemini 2.5.2补丁已悄然上线!3个高危breaking change正在影响金融/医疗类LLM流水线
  • Windows 10 彻底卸载 OneDrive 的终极指南:释放系统资源与隐私保护
  • 深度解析开源自动化工具:BetterNCM安装器实战指南
  • FinalBurn Neo终极教程:如何在5分钟内搭建完美的街机模拟环境
  • 2026 北京漏水检测 2大靠谱商家优选-精准定位测漏-全城上门检测服务-口碑公司推荐 - GrowthUME
  • 别再只问哪个AI模型更强了,2026年真正拉开差距的是向量引擎
  • 创业团队如何建立客户成功体系
  • IDEA帮我写代码,我只需要按Tab
  • Skills 最大的价值,不是你想的那个
  • 如何从零构建高仿12306系统:SpringBoot3+Java17分布式架构实战指南
  • 20252806 2025-2026-2 《网络攻防实践》第十周作业
  • Keyviz:5分钟学会实时键鼠可视化,让你的操作透明化
  • DIY电动背部按摩器:用直流减速电机与偏心轮原理自制放松神器
  • P13981 数列分块入门 6
  • AI Agent Harness Engineering 任务优先级排序算法:让智能体学会高效时间管理
  • 算术平均值与几何平均值 - ace-
  • 实测过的AI提示词方法论和新赛道总结
  • Arduino互动南瓜:超声波传感器与伺服电机的创意制作
  • 基于Arduino与LM741的心电图采集系统:从模拟电路到心率检测