五、(基础)别让大模型 “断网”!教你用 LangChain 开发联网 AI Agent,实操教程来了

五、(基础)别让大模型 “断网”!教你用 LangChain 开发联网 AI Agent,实操教程来了

  1. 上一章讲解了如何调用向量模型、使用向量数据库等,并将其融入到 langchain 的链式操作中
  2. 本章将讲解使用联网搜索和模型进行交互,并如何创建代理,使 langchain 自动操作模型获得我们想要的结果
  • 需要了解构建 LangChain 的一些用法,可以阅读本专栏内容,欢迎订阅
  • pip安装LangChain:
  • 调用大模型key,我们主要是学习为主,能白嫖自然白嫖,不需要多么快速的响应,下面是对应的申请方式,都是免费的,其他模型都是需要对应token花费钱的。注意:我们只要申请openai的key,openai更加通用
    • 腾讯元宝:hunyuan-lite,申请地址
    • 智谱AI:GLM-4-Flash-,申请地址,更推荐,响应速度快,更精准,对 openai 接口兼容性更好
  • 以上模型都是免费的,可以放心使用,注意申请 openai 访问方式的key,
  • 需要申请Tavily(一个搜索引擎)作为工具来配合 LangChain 进行联网搜索,Tavily每个月有一千条免费次数,足够我们学习使用了
  • 建议使用 Jupyter Notebook,更加方便,安装教程

语言模型本身其实做不了什么实际动作,它们能做的不过是输出一些文字而已。但 LangChain 有个挺重要的用法,就是搭建出一种 “代理” 机制。这种代理会把大型语言模型当成思考的核心,让它来判断该做哪些事,以及具体要给这些事提供什么信息。等这些事做完之后,得到的结果还能再送回给大型语言模型,让它接着判断:是还得再做点什么,还是说这事到这儿就可以结束了。



可以通过传入消息列表来调用语言模型,而且还能看到这模型调用工具的具体情况。为了实现这一点,我们使用 .bind_tools 来让语言模型了解这些工具。


可以看到我们现在的问题没有触发搜索服务


我们将问题换一下


可以看到已经成功触发搜索服务


现在这儿没什么文本内容,但有个工具调用的提示 —— 它想让我们用 Tavily Search 这个工具。 不过这还不算真的调用了工具,只是告诉我们该去调用而已。要想真把这个工具用起来,还得我们自己来创建代理才行。

工具和大型语言模型都定义好了,接下来就能创建代理了。使用 LangGraph 来做这个事。目前用的是高级接口来代理,不过 LangGraph 有个好处,就是这个高级接口背后有套低级的 API 支撑着,可控性很强。 现在,咱们可以用大型语言模型和工具来初始化代理了。


通过返回值,可以看到模型现在并没有调用搜索服务,因为我们问的问题不对


我们将问题换一下


现在成功触发搜索服务


咱们已经知道怎么用.invoke 调用代理来拿到最终的回应了。但要是代理得走好几个步骤,那可能就得等上一会儿。想实时看到中间的进展也不难,只要在消息产生的时候,让它们一条条流式返回就行。


返回值 在这里插入图片描述

除了流式返回消息,流式返回令牌也是有用的。 我们可以使用 .astream_events 方法来实现这一点。


返回值,是不是有点像我们常用的的一些ai助手深度思考的模样 智谱 AI GLM 教程在这里插入图片描述

代理本身是没什么记忆的,之前的互动它都记不住。要是想让它能记住东西,就得给它传个检查点。传检查点的时候,调用代理时还得带上 thread_id,这样它才知道该从哪个对话线程接着来。


返回值 在这里插入图片描述

本章讲解使用联网搜索和模型进行交互,如何创建代理,使 langchain 自动操作模型获得我们想要的结果,至此我们基础部分已经讲完,接下来我们将讲解进阶部分,包括构建检索增强生成 (RAG) 、操作sql数据库、图数据库、分析pdf等文档、B站视频分析等,欢迎持续关注

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/268102.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月12日 下午5:27
下一篇 2026年3月12日 下午5:27


相关推荐

关注全栈程序员社区公众号