news 2026/5/31 20:48:16

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

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
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模式即可。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/31 20:47:12

论文反复修改到心累?资深导师力荐这几个AI论文平台

论文写作总是在反复修改中陷入瓶颈,选题难、结构乱、语言差、格式对不上——这些痛点让不少学生苦不堪言。其实,用对AI工具、走对流程,能大幅提升效率和质量。多位资深教授在实际教学中发现,合理利用AI辅助工具是提升论文水平的关…

作者头像 李华
网站建设 2026/5/31 20:44:56

AI应用的数据库设计:从选型到优化

AI应用的数据库设计:从选型到优化前言 我们早期使用 MySQL 存储所有数据,后来遇到了性能瓶颈。经过调研和实践,我们建立了多数据库架构。 今天,分享我们的数据库设计经验。 一、数据库选型 1.1 数据库类型 class DatabaseTypes:TY…

作者头像 李华
网站建设 2026/5/31 20:44:22

Zotero Style:当文献管理遇见可视化思维

Zotero Style:当文献管理遇见可视化思维 【免费下载链接】zotero-style Ethereal Style for Zotero 项目地址: https://gitcode.com/GitHub_Trending/zo/zotero-style 你是否曾在浩如烟海的文献库中迷失方向?当PDF文件堆积如山,阅读进…

作者头像 李华
网站建设 2026/5/31 20:41:45

QMCDecode:终极解决方案!五分钟搞定QQ音乐加密文件解密

QMCDecode:终极解决方案!五分钟搞定QQ音乐加密文件解密 【免费下载链接】QMCDecode QQ音乐QMC格式转换为普通格式(qmcflac转flac,qmc0,qmc3转mp3, mflac,mflac0等转flac),仅支持macOS,可自动识别到QQ音乐下载目录&…

作者头像 李华
网站建设 2026/5/31 20:39:17

Windows Cleaner终极指南:免费解决C盘爆红的完整解决方案

Windows Cleaner终极指南:免费解决C盘爆红的完整解决方案 【免费下载链接】WindowsCleaner Windows Cleaner——专治C盘爆红及各种不服! 项目地址: https://gitcode.com/gh_mirrors/wi/WindowsCleaner 还在为Windows电脑C盘空间不足而烦恼吗&…

作者头像 李华
网站建设 2026/5/31 20:33:00

038、视觉惯性里程计(VIO)简介

038、视觉惯性里程计(VIO)简介 从一次炸机说起 去年夏天,我在一个农业植保项目里调试PX4的VIO模块。飞机在麦田上空飞了大概三分钟,突然开始剧烈抖动,然后一头栽进田里。事后分析log,发现IMU数据在某个时刻出现了明显的漂移,而视觉里程计(VO)给出的位姿估计在那一帧…

作者头像 李华