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

AI超级智能体教程(三)---程序调用AI大模型的四种方式(SpringAI+LangChain4j+SDK+HTTP)

文章目录

  • 1.安装SDK(查看文档)
  • 2.创建API-key
  • 3.项目引入灵积大模型
  • 4.HTTP接入的方式
  • 5.SpringAI引入
    • 5.1添加依赖
    • 5.2添加配置
    • 5.3测试代码
  • 6.LangChain4j引入
    • 6.1依赖引入
    • 6.2测试提问

1.安装SDK(查看文档)

安装阿里云百炼SDK_大模型服务平台百炼(Model Studio)-阿里云帮助中心

上面的这个就是我们的文档对应的链接,我觉得并没有很容易找到,所以贴在了上面,方便大家去使用;找到下面的这个SDK是如何进行安装的,复制这个xml的相关代码,放到我们的依赖里面就可以了;

image-20250425195204961

下面的这个就是引入到我们的这个项目里面去的情况,这个时候我们的这个版本可以根据这个提示的maven中央仓库的链接进行获取这个最新的;

image-20250425195729189

下面的这个就是中央仓库里面的这个内容,我们可以直接cv到我们的这个项目里面的依赖文件即可;

image-20250425195445982

2.创建API-key

下面的这个就是平台的API-KEY获取的方式:

image-20250425200055011

新创建出来的这个API自己可以看到,不可以泄露出去的:放到我们的项目里面去即可;

image-20250425200501215

3.项目引入灵积大模型

找到你想要使用的这个大模型的API参考文档:

image-20250425200806120

复制这个里面的示例代码即可:

image-20250425200733048

引入到我们的这个项目里面去即可:

image-20250425200937514

引入的代码里面的下面的这个部分是需要我们进行对应的这个修改的:

image-20250425202108949

我们的这个上面代码里面的第23行就是我们可以进行的这个正确的提问方式,这个时候,你就会发现下面的这个输出的结果,可见这个就是已经成功了的;

{"requestId":"e5f7bafb-0d03-9947-9959-fbab0717bd77","usage":{"input_tokens":35,"output_tokens":373,"total_tokens":408},"output":{"choices":[{"finish_reason":"stop","message":{"role":"assistant","content":"你好,阑梦清川!让我用通俗易懂的方式来解释一下MCP协议。\n\n### 什么是MCP协议?\n\n**MCP(Multi-Chain Protocol)** 是一种多链协议,简单来说,它是一种技术框架或规则,可以让不同的区块链之间进行沟通和协作。你可以把区块链想象成一个个独立的“岛屿”,每个岛都有自己的规则、货币和居民(比如比特币链、以太坊链等)。而MCP就像一座“桥梁”,让这些岛屿之间可以互相传递信息、资产甚至功能。\n\n### 为什么需要MCP?\n\n1. **跨链交互**:不同区块链之间的资产或数据无法直接流通。例如,你不能直接把比特币发送到以太坊网络上使用。MCP可以帮助实现这种跨链操作。\n   \n2. **提高效率**:有些区块链擅长处理交易速度,有些则专注于安全性或隐私保护。通过MCP,我们可以结合多个区块链的优点,优化整体性能。\n\n3. **生态整合**:MCP可以让开发者更容易地在多个区块链上构建应用程序,而不必局限于某一个特定的链。\n\n### 类比理解\n\n假设你在玩一个游戏,这个游戏有多个服务器(就像不同的区块链),每个服务器有自己的规则和道具。如果你想从A服务器拿到一件装备,并带到B服务器使用,通常这是不可能的。但如果有一个“通用通行证”(类似于MCP),它就能帮你把这件装备从A服务器转移到B服务器,甚至还能根据B服务器的规则自动调整装备属性。\n\n### 总结\n\nMCP协议的核心目标是打破区块链之间的孤岛效应,让它们能够更好地协同工作。这不仅提升了用户体验,也为未来的去中心化应用(DApps)提供了更广阔的想象空间。\n\n希望这个解释对你有所帮助!如果还有其他问题,欢迎继续提问~ 😊"}}]}}

4.HTTP接入的方式

这个也是存在对应的文档的,但是这个文档也不是很容易找到,我放在下面;

通义千问API参考_大模型服务平台百炼(Model Studio)-阿里云帮助中心

找到这个curl,这个实际上就是类似于这个HTTP的内容,这个里面包含了我们的post,message等相关的请求和信息,我们可以使用一些工具让他把这个curl代码转换成为java代码

image-20250425203141683

我们把这个java代码放到我们的项目文件里面去即可:同理这个里面的提问的内容我们也是可以进行修改的;

image-20250425203845010

5.SpringAI引入

这个里面我们主要是使用的这个Spring AI Alibaba这个平台:

1.我们使用spring AI 相关的内容;

2.我们使用阿里相关的大模型;

3.这个平台可以让spring和阿里的大模型进行很好的兼容;

5.1添加依赖

image-20250425204448279

引入的展示效果:

image-20250425204701354

注意事项,没有添加到maven仓库,失败的话我们可以使用下面的代码(添加到我们的xml文件里面,就可以更加快速的进行引入了)

下面的这个是文档里面写的:

image-20250425204739832

下面的这个是我引入到了自己的这个项目文件里面去的这个场景:

image-20250425204810032

5.2添加配置

image-20250425212458886

添加到我们的项目里面;

image-20250425212948248

这个里面的chat options相关的这个模型也是可以在这个官方的文档里面找到的:在千问里面是可以找到的;

image-20250425213026849

5.3测试代码

第一次的时候这个yml文件里面的这个配置的层级整错了,导致运行出错确实有点小bug,大家还是注意下这个配置文件的写法

下面的这个就是我自己去提问的这个问题:

image-20250425220203281

下面的这个就是AI给出来的这个回答的内容:

image-20250425220234470

6.LangChain4j引入

6.1依赖引入

下面的这个是官方的文档:

image-20250425220507036

下面的这个是我们自己的写法:

image-20250425220443122

6.2测试提问

下面的这个是代码写法和我的提问内容:

image-20250425220801364

下面的这个是AI回答的结果:

image-20250425220831785

到此,over,后续我们的项目里面会主要使用Spring AI,其他的大家可以了解学习,针对性学习,根据自己的喜好

相关文章:

  • 二项式分布html实验
  • Low Poly 风格 | 飞机飞行可视化系统
  • 【计算机视觉】CV实战- 深入解析基于HOG+SVM的行人检测系统:Pedestrian Detection
  • 深入解析Mlivus Cloud核心架构:rootcoord组件的最佳实践与调优指南
  • 防火墙技术深度解析:从包过滤到云原生防火墙的部署与实战
  • 软测面经(私)
  • API/SDK
  • 【金仓数据库征文】金仓数据库:开启未来技术脑洞,探索数据库无限可能
  • 【基于Qt的QQMusic项目演示第一章】从界面交互到核心功能实现
  • 基于HTML+CSS实现的动态导航引导页技术解析
  • 数字孪生:从概念到实践,重构未来产业的“虚拟镜像”
  • Java实现背景图片加自适应水印图片
  • Android 编译问题 prebuilts/clang/host/linux-x86
  • Node.js 包管理工具介绍
  • 彻底卸载Python
  • 深入了解Activiti工作流引擎:从基础到实战
  • github把自己的jar包发送到maven中央仓库
  • 技术书籍推荐(003)
  • 用node打开一个网页
  • 为什么使用Throwable app不崩溃,使用Exception会崩溃
  • 生于1987年,万宏宇已任内蒙古鄂温克旗委常委
  • 刘非履新浙江省委常委、杭州市委书记,曾在吉湘云多省任职
  • 华夏银行青岛分行另类处置不良债权,德州近百亩土地被神奇操作抵押贷款
  • 美媒称特朗普考虑大幅下调对华关税、降幅或超一半,外交部回应
  • 西安市优化营商环境投诉举报监督平台上线,鼓励实名检举控告
  • 质与量齐升、快与稳并举,专家解读上海一季度经济数据