spring AI (三) 函数调用
有了前 2 节的基础,接下来要上点强度了,Function Calling - 函数调用。 那么什么是函数调用呢?官方的解释是:
You can register custom Java functions with the OpenAiChatClient and have…
spring AI (二) 流式输出
在上文,实现了一个简单的调用输出,使用的是 call 方法,此方法会等待结果的完整返回,所以耗时会比较高一点。 DEBUG 也可以看到结果是一起返回的。
但通常我们使用 AI 对话时结果是一个字一个字或一段一段蹦出来的,这里用的就是流式输出。
flux#
仔细看官方文档会发现其…
spring AI (一) 初始化及简单调用
之前刷短视频刷到了 spring 框架竟然出了 AI 模块,这我身为一个 Java 程序员竟然不知道,赶紧去官网看一下再找点教程试一试。 现在spring AI 的版本是0.8.1,但也已经有正式版 1.0 的 SNAPSHOT 了,所以 API 基本不会有大的变动。总而言之…
RuoYi-Vue-Plus使用skywalking进行链路追踪
近期需要对程序的接口进行并发测试,使用 jmeter 测过后觉得不太满意。主要是上传和数据库查询处理的操作,想知道上传和数据库处理的耗时分别是多少。看了下若依的文档,发现是支持 skywalking 的,那就好办了。 安装#
使用 skywalking 需要先安装依赖,主要是…
java实时消息推送(二)
之前写实时推送(一)的时候,是用的 rabbitmq 的 mqtt 插件。在当时它能满足我的需求,现在有一个新的需求,远程唤醒,判断设备是否在线,如果当前时间设备在线,则表示可以被远程唤醒。 一开始,我还是想在 rabbitmq 的基础上找找看有没有什么 API 能够获取到…
java实时消息推送(一)
前言# 最近有个业务需求,需要判断用户上传的数据是异常还是正常,如果是异常的情况下需要实时的推送报警消息到用户。
在大部分情况下,通常是客户端(浏览器)主动发送请求到服务端(服务器),告诉它需要什么数据。
但也有一部分情况,需要服务端主动的给客户端推送消息,比如上面的情况…
gitlab 的CI/CD 流水线初体验
CI/CD# 关于 CI/CD 的理念与解释这里就不说了,可以看这篇文章
为什么选择 gitlab 的流水线#
原因也很简单,公司的代码托管在 gitlab 上,且 gitlab 的 free 额度好像还挺高。
不选择Jenkins的原因也很简单,UI 过时,功能虽多但占用也高。…
spring boot中的缓存
缓存通常用来加快数据库中经常要使用的数据。大部分情况下我们使用 redis 来缓存 MySQL 数据库的热点数据。 EnableCaching#
在 spring boot 中使用缓存还是比较简单的
首先添加依赖
Copy
<!-- cache 依赖…
使用canal监控数据库
什么是 canal# canal,译意为水道 / 管道 / 沟渠,主要用途是基于 MySQL 数据库增量日志解析,提供 增量数据订阅和消费。
通常情况下,canal 用来同步或监控 MySQL 数据库的数据,比如数据入库后同步到 ES
canal 将自己伪装成 MySQL…
spring boot 3 + graalVM native 初体验
spring boot 3 已经出来一段时间了,官方也把 GraalVM native 作为 sp3 的一个重大的功能。 那什么是 GraalVM 呢?#
从名字就可以看出来 GraalVM 是一个虚拟机,它的主要目标就是提升 java 应用程序的性能,并且消耗更少的资源。
它…
spring boot 监控 JVM
在中,大程序中,随着用户体量的增加,监控的重要性就越来越高。一套清晰,明了的监控可以极大的帮助开发和运维人员发现程序的问题或不足。 对于 spring boot 程序而言,我们可以使用下面的工具来进行系统级别的监控
grafana 是一个跨平台的开源的度量分析和可视化工具 p…
好用到爆的sharding-jdbc分库分表组件
最近有个需求,需要区分不同渠道所产生的不同结果。 比如,web 端产生的结果,小程序产生的结果,app 产生的结果。实际上表结构是完全相同的,只是做不同的区分。
分表#
首先想到的当然是分表,大部分分表是基于数据量的分表,因为众所周知的 MySQL 数据库的单表瓶颈。
300W…
mybatis plus 多租户插件
引言# 多租户主要用来做数据隔离的,它通常被用于 SAAS 系统里面,把软件作为服务提供给企业使用。每个企业就是一个租户,每个租户只能看到本租户内的数据。所有需要对每个租户做数据隔离。
数据隔离#
多租户的数据隔离方案,可以分成分成三种:
DATASOURCE 模式:独立数据库…
使用Alist和EMBY打造低成本个人影视库
其实之前也写过 emby + google drive 的文章,但是时过境迁。 Google drive 把教育盘和团队盘都几乎扬完了,TOS 也越来越严格,转存越来越麻烦。
OneDrive 则根本没有转存这一功能,只能本地上传。
直到阿里云盘异军突起,国内优化,社区活跃…
如何白嫖Cloudflare WARP+优选IP
众所周知,Cloudflare 作为互联网界的大善人,旗下有很多好用甚至免费的好东西。 今天讲的 warp,不仅可以用来装在 VPS 小鸡🐔上解锁本来不支持的流媒体,比如 Netflix、TikTok 等;还可以装在设备上用来科学,再加上优选 IP,油管 4K 不敢保证,但是…
Java异步及返回
最近在工作中,学到了几个知识点,还是很有用的,因此准备写几篇 blog 记录一下 上周接到一个新的需求,要获取程序的报错,并发送通知给负责人,实现其实不难,但难的是如何优雅的实现,而刚好我就看过 2 个知识点,结合一下就能完美实现需求
全局异常处理#
全局异常处理很简单,只需要…
mybatis-plus配置自定义数据类型
上班学习就是快,各种奇怪的需求提的我眼花缭乱。废话不多说,直接开搞 已知需求是设计一张问卷表,目前问卷的问题类型只有单选题,怎么设计表和库。
问题表类似下面
疼痛分级 描述 分数0 无痛 0
1 微痛 2
2 剧痛 4
一个问题下面有多个选项…
如何用AI画二次元以及三次元的老婆
在家过年很爽,但是上班就不爽了,没办法,要恰饭的嘛。所以,我给枯燥的上班生活找了个调剂,那就是用 AI 画小姐姐。 年前我也试用了下 OpenAI 的 ChatGPT3,简直惊为天人,我没有想到 AI 已经发展到这个程度了,几乎可以说是一个低配版的电影中的智能 AI…