Skip to content

5 - 工具调用 - AI 超级智能体项目教程

我们团队最近在疯狂的研究AI,期间调研学习了大量的资料,感谢大佬们的分享。

期间不仅做了几个还不错的项目,也踩坑不少,我们也发光发热,把我们总结的经验以专栏的方式分享出来,希望对大家有帮助。

这是专栏内容的第5篇,这是专栏链接,没看之前文章的朋友,建议先看之前的内容。

本节重点

以 Spring AI 框架为例,学习 AI 应用开发的核心特性 ——⁠ 工具调用,大幅增强 AI 的能力,并实战主流工具的开发,熟悉工具的原理和高级特性。

具体内容包括:

  • 工具调用介绍
  • Spring AI 工具开发
  • 主流工具开发
  • 文件操作
  • 联网搜索
  • 网页抓取
  • 终端操作
  • 资源下载
  • PDF 生成
  • 工具进阶知识(原理和高级特性)

友情提示:由于 AI 的更新速度飞快,随着平台 / 工具 / 技术 / 软件的更新,教程的部分细节可能会失效,所以请⁠大家重点学习思路和方法,不要因为实操和教程不一致就过于担心,而是要学会自己阅读官方文档并查阅资料,多锻炼自己解决问题的能力。

一、需求分析

之前我们通过 RAG 技术让 AI 应用具备了根据外部知识库来获取信息并回答的能力,但是直到目前为止,AI 应用还只是个 “知识问答助手”。本节我们可以利用 工具调用 特性,实现更多需求。

1)联网搜索

2)网页抓取

3)资源下载

4)终端操作

5)文件操作

6)PDF 生成

而且这些需求还可以进行组合

如果 AI 能够完成上述需求,就不再只是一个有知识⁠的 “大脑”,而是有手有脚,会利用工具完成任务的 “智能体” 了。

下面我们就来学习下实现上述需求的关键 —— 工具调用 技术。

二、工具调用介绍

什么是工具调用?

工具调用(Tool Calling)可以理解为让 AI 大模型 借用外部工具 来完成它自己做不到的事情。

跟人类一样,如果只凭手脚完成不了工作,那么就可⁠以利用工具箱来完成。

工具可以是任何东西,比如网页搜索、对外部 AP⁠I 的调用、访问外部数据、或执行特定的代码等。

比如用户提问 “帮我查询上海最新的天气”,AI 本⁠身并没有这些知识,它就可以调用 “查询天气工具”,来完成任务。

目前工具调用技术发展的已经比较成熟了,几乎