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的相关代码,放到我们的依赖里面就可以了;
下面的这个就是引入到我们的这个项目里面去的情况,这个时候我们的这个版本可以根据这个提示的maven中央仓库的链接进行获取这个最新的;
下面的这个就是中央仓库里面的这个内容,我们可以直接cv到我们的这个项目里面的依赖文件即可;
2.创建API-key
下面的这个就是平台的API-KEY获取的方式:
新创建出来的这个API自己可以看到,不可以泄露出去的:放到我们的项目里面去即可;
3.项目引入灵积大模型
找到你想要使用的这个大模型的API参考文档:
复制这个里面的示例代码即可:
引入到我们的这个项目里面去即可:
引入的代码里面的下面的这个部分是需要我们进行对应的这个修改的:
我们的这个上面代码里面的第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代码
我们把这个java代码放到我们的项目文件里面去即可:同理这个里面的提问的内容我们也是可以进行修改的;
5.SpringAI引入
这个里面我们主要是使用的这个Spring AI Alibaba这个平台:
1.我们使用spring AI 相关的内容;
2.我们使用阿里相关的大模型;
3.这个平台可以让spring和阿里的大模型进行很好的兼容;
5.1添加依赖
引入的展示效果:
注意事项,没有添加到maven仓库,失败的话我们可以使用下面的代码(添加到我们的xml文件里面,就可以更加快速的进行引入了)
下面的这个是文档里面写的:
下面的这个是我引入到了自己的这个项目文件里面去的这个场景:
5.2添加配置
添加到我们的项目里面;
这个里面的chat options相关的这个模型也是可以在这个官方的文档里面找到的:在千问里面是可以找到的;
5.3测试代码
第一次的时候这个yml文件里面的这个配置的层级整错了,导致运行出错确实有点小bug,大家还是注意下这个配置文件的写法
下面的这个就是我自己去提问的这个问题:
下面的这个就是AI给出来的这个回答的内容:
6.LangChain4j引入
6.1依赖引入
下面的这个是官方的文档:
下面的这个是我们自己的写法:
6.2测试提问
下面的这个是代码写法和我的提问内容:
下面的这个是AI回答的结果:
到此,over,后续我们的项目里面会主要使用Spring AI,其他的大家可以了解学习,针对性学习,根据自己的喜好
相关文章:
AI超级智能体教程(三)---程序调用AI大模型的四种方式(SpringAI+LangChain4j+SDK+HTTP)
文章目录 1.安装SDK(查看文档)2.创建API-key3.项目引入灵积大模型4.HTTP接入的方式5.SpringAI引入5.1添加依赖5.2添加配置5.3测试代码 6.LangChain4j引入6.1依赖引入6.2测试提问 1.安装SDK(查看文档) 安装阿里云百炼SDK_大模型服…...
JDBC连接数据库
一、查询 sqlserver数据库 private List<Map<String, String>> getPathList(String id) throws Exception {String driverName "com.microsoft.sqlserver.jdbc.SQLServerDriver";String dataBaseurl "jdbc:sqlserver://localhost:1433;SelectMeth…...
常见缓存淘汰算法(LRU、LFU、FIFO)的区别与实现
一、前言 缓存淘汰算法主要用于在内存资源有限的情况下,优化缓存空间的使用效率。以确保缓存系统在容量不足时能够智能地选择需要移除的数据。 二、LRU(Least Recently Used) 核心思想:淘汰最久未被访问的数据。实现方式&#x…...
深度学习--循环神经网络RNN
文章目录 前言一、RNN介绍1、传统神经网络存在的问题2、RNN的核心思想3、 RNN的局限性 二、RNN基本结构1、RNN基本结构2、推导3、注意4、循环的由来5、再谈RNN的局限 总结 前言 循环神经网络(RNN)的起源可以追溯到1982年,由Saratha Sathasiv…...
大学IP广播系统解决方案:构建数字化智慧化大学校园IP广播平台
大学IP广播系统解决方案:构建数字化智慧化大学校园IP广播平台 北京海特伟业科技有限公司任洪卓于2025年4月24日发布 随着教育信息化建设的深入推进,传统的模拟广播系统已无法满足现代化校园对智能化、场景化、融合化的管理需求。为此,海特伟业提出构建…...
#ifndef #else #endif条件编译
目录 一、#ifdef 1. 基本用法 2. 查看头文件 3. 目的 4. 常见用途 4. 取消定义 5.小结 二、#ifndef和#ifdef区别 1. #ifdef 2. #ifndef 3.结论 一、#ifdef 宏定义 #define H_PWM_L_ON 的作用是创建一个名为 H_PWM_L_ON 的宏。以下是这个宏定义的一些关键点ÿ…...
SystemVerilog语法之typedef与自定义结构
1.7 使用typedef创建新的类型 在Verilog中,你可以为操作数的位宽或者类型分别定义一个宏,但是你并没有创建新的数据类型,而是进行了文本的替换。在SystemVerilog中,可以使用typedef创建新的类型。可以将parameter和typedef语句放…...
【防火墙 pfsense】2配置
(1)接口配置和接口 IP 地址分配 ->配置广域网(WAN)和局域网(LAN)接口,分配设备标识符,如 eth0、eth1 等; ->如将WAN 接口将被分配到 eth0,而 LAN 接口将…...
数据结构之排序
排序 一.比较排序1.插入排序基本思想1.1直接插入排序1.2希尔排序 2.选择排序直接选择排序堆排序 3.交换排序冒泡排序快速排序hoare版本挖坑法lomuto前后指针非递归版本 4.归并排序非递归的归并排序 非比较排序1.计数排序 排序算法复杂度及稳定性分析 一.比较排序 1.插入排序 …...
cgroup sched_cfs_bandwidth_slice参数的作用及效果
一、背景 cgroup是一个非常重要的功能,其中cgroup cpu这块有不少功能,在之前的博客 CFS及RT调度整体介绍_rt调度器-CSDN博客 里,我们分析了cfs的组调度也就是cgroup cpu的这块内核逻辑的细节侧重于调度逻辑这块,在之前的博客 cgr…...
【C++指南】告别C字符串陷阱:如何实现封装string?
🌟 各位看官好,我是egoist2023! 🌍 种一棵树最好是十年前,其次是现在! 💬 注意:本章节只详讲string中常用接口及实现,有其他需求查阅文档介绍。 🚀 今天通过了…...
液体神经网络LNN-Attention创新结合——基于液体神经网络的时间序列预测(PyTorch框架)
1.数据集介绍 ETT(电变压器温度):由两个小时级数据集(ETTh)和两个 15 分钟级数据集(ETTm)组成。它们中的每一个都包含 2016 年 7 月至 2018 年 7 月的七种石油和电力变压器的负载特征。 traffic(交通) :描…...
kafka和Spark-Streaming2
Kafka 工作流程及文件存储机制 Kafka 中消息是以topic 进行分类的,生产者生产消息,消费者消费消息,都是面向topic 的。 “.log”文件存储大量的数据,“.index”文件存储偏移量索引信息,“.timeindex”存储时间戳索引文…...
MySQL日期函数的详细教程(包含常用函数及其示例)
概述 以下是一个关于MySQL日期函数的详细教程,包含常用函数及其示例内容以转换为PDF电子书,喜欢的朋友可以转存慢慢享用:https://pan.quark.cn/s/57d2e491bbbe 1. 获取当前日期和时间 • CURDATE() / CURRENT_DATE() 返回当前日期…...
P4017 最大食物链计数-拓扑排序
P4017 最大食物链计数 题目来源-洛谷 题意 要求最长食物链的数量。按照题意,最长食物链就是指有向无环图DAG中入度为0到出度为0的不同路径的数量(链数) 思路 在计算时,明显:一个被捕食者所…...
C语言——字串处理
C语言——字串处理 一、问题描述二、格式要求1.输入形式2.输出形式3.样例 三、实验代码 一、问题描述 现有两个字符串s1和s2,它们最多都只能包含255个字符。编写程序,将字符串s1中所有出现在字符串s2中的字符删去,然后输出s1。 二、格式要求…...
工业排风轴流风机:强劲动力与节能设计的完美融合
在工业生产中,通风换气是保障作业环境安全、维持设备正常运行的关键环节。工业排风轴流风机凭借其独特的设计,将强劲动力与节能特性完美融合,成为众多工业场景的首选通风设备,为企业高效生产与绿色发展提供了可靠支持。 工业排风…...
【Test】单例模式❗
文章目录 1. 单例模式2. 单例模式简单示例3. 懒汉模式4. 饿汉模式5. 懒汉式和饿汉式的区别 1. 单例模式 🐧定义:保证一个类仅有一个实例,并提供一个访问它的全局访问点。 单例模式是一种常用的软件设计模式,在它的核心结构中只包…...
3.3 Spring Boot文件上传
在 Spring Boot 项目中实现文件上传功能,首先创建项目并添加依赖,包括 Commons IO 用于文件操作。接着,创建文件上传控制器 FileUploadController,定义上传目录并实现文件上传逻辑,通过生成唯一文件名避免文件冲突。创…...
【玩泰山派】7、玩linux桌面环境xfce - (4)使用gstreamer
文章目录 前言gstreamergstreamer概述基本概念主要功能应用场景开发方式 安装gstreamer使用gstreamer使用gstreamer播放视频 前言 玩一下gstreamer,使用gstreamer去播放下音视频 gstreamer gstreamer概述 GStreamer是一个用于构建多媒体应用程序的开源库和框架&…...
cpu性能统计
cpu负载 top中avg,/proc/loadavg, 包括cpu密集型任务io型任务 统计流程 每cpu scheduler_tick ----calc_global_load_tick : 当前瞬时 cpu::this_rq:: nr_runningnr_inunterrupt->calc_load_tasks(全局变量) 全局 do_timer ----calc_global_load&a…...
Java对接企业微信实战笔记
Java对接企业微信实战笔记 微信开发文档 有关企业微信的服务商的一些配置参考企业微信创建的服务商配置信息 一 流程图 只要企业安装应用后,就可以获取到企业的信息 二 创建应用获取suite_ticket 1.创建应用 微信开发平台得是服务商角色才能进入服务商后台创建一…...
HashMap的源码解析
HashMap基于哈希表的Map接口实现,是以key-value存储形式存在,即主要用来存放键值对。HashMap的实现不是同步的,这意味着它不是线程安全的。它的key、value都可以为null。此外,HashMap中的映射不是有序的。 JDK1.8 之前 HashMap由数…...
【金仓数据库征文】金仓数据库KingbaseES:在技术与人文交织中开拓信创未来
🎁个人主页:User_芊芊君子 🎉欢迎大家点赞👍评论📝收藏⭐文章 🔍系列专栏:AI 【引言】 在信息技术应用创新(信创)的浪潮下,数据库作为数字经济的基石…...
【AI】[特殊字符]生产规模的向量数据库 Pinecone 使用指南
一、Pinecone 的介绍 Pinecone是一个完全托管的向量数据库服务,专为大规模机器学习应用设计。它允许开发者轻松存储、搜索和管理高维向量数据,为推荐系统、语义搜索、异常检测等应用提供强大的基础设施支持。 1.1 Pinecone的核心特性 1. 高性能向量搜…...
OpenHarmony之电源模式定制开发指导
OpenHarmony之电源模式定制开发指导 概述 简介 OpenHarmony默认提供了电源模式(如正常模式、性能模式、省电模式、极致省电模式)的特性。但由于不同产品的部件存在差异,导致在同样场景下电源模式的配置需要也存在差异,为此&…...
Jsp技术入门指南【十】IDEA 开发环境下实现 MySQL 数据在 JSP 页面的可视化展示,实现前后端交互
Jsp技术入门指南【十】IDEA 开发环境下实现 MySQL 数据在 JSP 页面的可视化展示,实现前后端交互 前言一、JDBC 核心接口和类:数据库连接的“工具箱”1. 常用的 2 个“关键类”2. 必须掌握的 5 个“核心接口” 二、创建 JDBC 程序的步骤1. 第一步…...
JDBC之ORM思想及SQL注入
目录 一. ORM编程思想 1. 简介 2. 实操ORM思想 a. Students实体类 b. ORM映射 二. SQL注入 1. 简介 2. 解决SQL注入 三. 总结 前言 本文来讲解ORM编程思想和SQL注入,旨在帮助大家更容易的理解和掌握 个人主页:艺杯羹 系列专栏:JDBC …...
UniApp学习笔记
在uniapp中使用View标签来代替div标签,使用rpx来取代px,rpx动态适配屏幕宽度750rpx100vw H5端不支持*的css选择器 body的元素选择器请改为page div和ul和li等改为view、 span和font改为text a改为navigator img改为image scoped:非H5端默认并未启…...
统计术语学习
基期、现期 作为对比参照的时期称为基期,而相对于基期的称为现期。 描述具体数值时我们称之为基期量和现期量。 【例 1】2017 年比 2016 年第三产业 GDP 增长 6.8%, (2016)为基期,(2017) 为现…...
认识 Linux 内存构成:Linux 内存调优之页表、TLB、缺页异常、大页认知
写在前面 博文内容涉及 Linux 内存中 多级页表,缺页异常,TLB,以及大页相关基本认知理解不足小伙伴帮忙指正对每个人而言,真正的职责只有一个:找到自我。然后在心中坚守其一生,全心全意,永不停息。所有其它的路都是不完整的,是人的逃避方式,是对大众理想的懦弱回归,是…...
Java File 类的常用方法详解
Java File 类的常用方法详解 File 类是 Java 中用于操作文件和目录的核心类,位于 java.io 包。它提供了丰富的方法来管理文件系统,包括创建、删除、重命名、查询属性、遍历目录等操作。 1. 构造方法 File 类提供多种构造方法,用于创建文件或…...
【AIGC】基础篇:VS Code 配置 Python 命令行参数调试debug超详细教程
文章目录 前言一、安装必要的扩展二、安装 debugpy三、创建 launch.json 配置文件四、配置调试环境五、开始调试六、命令行调试七、远程调试八、调试技巧九、常见问题及解决方法 前言 在 Python 开发过程中,调试是必不可少的环节。VS Code 提供了强大的调试功能&am…...
【金仓数据库征文】金仓数据库KingbaseES:千行百业国产化征程中的璀璨之星
🎁个人主页:User_芊芊君子 🎉欢迎大家点赞👍评论📝收藏⭐文章 🔍系列专栏:AI 【引言】 在数字化转型浪潮奔涌向前的时代,数据库作为数据存储与管理的核心枢纽,其重要性不…...
Linux进程学习【基本认知】
🌼🌼前言:前言理解冯诺依曼体系结构与操作系统原理 在计算机科学的基础理论中,冯诺依曼体系结构和操作系统是两个关键概念,它们共同构成了现代计算机的运行基础。本文将从这两个方面入手,简要讲解它们的基本…...
电子工厂POE交换机端口数量选择与部署策略
引言 在电子工厂的智能化升级过程中,POE(Power over Ethernet)交换机凭借其“供电数据传输”一体化功能,成为构建工业物联网的核心设备。与传统工业交换机相比,POE交换机通过单根网线实现设备供电与数据交互ÿ…...
Codeforces Round 1020 (Div. 3) A-D
A. Dr. TC https://codeforces.com/contest/2106/problem/A 题目大意: 对输入字符串每个位置字符依次翻转(1->0 , 0->1) 比如: 101 001 翻转位置1 111 2 100 3 题解: 观察数学特征:ansn…...
电子病历高质量语料库构建方法与架构项目(提示词设计篇)
电子病历人工智能提示词工程是医疗AI应用中的关键技术环节,它直接影响大语言模型在医疗场景下的输出质量和可靠性。随着大语言模型在电子病历生成、质控、数据提取等领域的广泛应用,如何通过编程实现高效、精准的提示词工程成为医疗信息化建设的重要课题。本文将系统介绍电子…...
蓝桥杯 4. 卡片换位
卡片换位 原题目链接 题目描述 你玩过华容道的游戏吗? 这是一个类似的,但更简单的游戏。 看下面的 3 2 格子: --------- | A | * | * | --------- | B | | * | ---------在其中放置了 5 张牌,其中: A 表示关…...
用python进行OCR识别
原文链接:https://www.bilibili.com/opus/1036675560501149699 我担心原作者删除,所以重新拷贝了一遍 1.下载tesseract 链接:https://github.com/UB-Mannheim/tesseract/wiki 这里示例安装最新版本 点击下载tesseract安装包 2.安装tess…...
【大语言模型】大语言模型(LLMs)在工业缺陷检测领域的应用
大语言模型(LLMs)在工业缺陷检测领域的应用场景正在快速扩展,结合其多模态理解、文本生成和逻辑推理能力,为传统检测方法提供了新的技术路径。以下是该领域的主要应用场景及相关技术进展: 1. 多模态缺陷检测与解释 视…...
202531读书笔记|《天上大风:良宽俳句·短歌·汉诗400》——我别无他物款待君,除了山中冬日寂寥,陶然共一醉,不知是与非,一饱百情足,一酣万事休
202531读书笔记|《天上大风:良宽俳句短歌汉诗400》——我别无他物款待君,除了山中冬日寂寥,陶然共一醉,不知是与非,一饱百情足,一酣万事休 《天上大风:良宽俳句短歌汉诗400》良宽是公认与松尾芭…...
HTMLCSS模板实现水滴动画效果
.container 类:定义了页面的容器样式。 display: flex:使容器成为弹性容器,方便对其子元素进行布局。justify-content: center 和 align-items: center:分别使子元素在水平和垂直方向上居中对齐。min-height: 100vh:设…...
Python爬虫(5)静态页面抓取实战:requests库请求头配置与反反爬策略详解
目录 一、背景与需求二、静态页面抓取的核心流程三、requests库基础与请求头配置3.1 安装与基本请求3.2 请求头核心参数解析3.3 自定义请求头实战 四、实战案例:抓取豆瓣读书Top2501. 目标2. 代码实现3. 技术要点 五、高阶技巧与反反爬策略5.1 动态…...
电子病历高质量语料库构建方法与架构项目(数据遗忘篇)
引言 在人工智能与医疗健康的深度融合时代,医疗数据的价值与风险并存。跨机构和平台的医疗数据共享对于推动医学研究、提高诊断精度和实现个性化治疗至关重要,但同时也带来了前所未有的隐私挑战。先进的AI技术可以从理论上去标识化的医疗扫描中重新识别个人身份,例如从MRI数…...
需求开发向设计规划的转化-从需求到设计和编码
需求和设计之间存在差别,但尽量使你的规格说明的具体实现无倾向性。理想情况是:在设计上的考虑不应该歪曲对预期系统的描述( Jackson 1995)。需求开发和规格说明应该强调对预期系统外部行为的理解和描述。让设计者和开发者参与需求…...
browser-use:AI驱动的浏览器自动化工具使用指南
AI驱动浏览器自动化 browser-use下载项目创建Python环境安装依赖配置环境运行WebUI简单使用Deep Research使用本地浏览器免登录 browser-use browser-use是一个基于 Python 的开源库,旨在简化 AI 代理与浏览器之间的交互。它将先进的AI功能与强大的浏览器自动化功能…...
Java从入门到“放弃”(精通)之旅——JavaSE终篇(异常)
Java从入门到“放弃”(精通)之旅🚀——JavaSE终篇(异常) 一、异常的概念与体系结构 1.1 什么是异常? 在生活中,当一个人表情痛苦时,我们可能会关心地问:"你是不是生…...
TCP协议理解
文章目录 TCP协议理解理论基础TCP首部结构图示字段逐项解析 TCP是面向连接(Connection-Oriented)面向连接的核心表现TCP 面向连接的核心特性TCP 与UDP对比 TCP是一个可靠的(reliable)序号与确认机制(Sequencing & Acknowledgment…...
NS3-虚拟网络与物理网络的交互-1 仿真概述
NS3-虚拟网络与物理网络的交互-1 仿真概述 目录 1. 仿真概述1.1 Testbed 仿真示例-FdNetDevice1.2 模拟通道示例-TapDevice 1. 仿真概述 NS-3 专为集成到 TestBed 和虚拟机中而设计 环境。我们通过提供两种网络设备来满足这一需求。 第一种设备是文件描述符 net 设备 &#x…...