告别Spring AI!我的Java轻量AI框架实践(支持多模型接入|注解式MCP架构|附开源地址)


~犬📰余~
"我欲贱而贵,愚而智,贫而富,可乎? 曰:其唯学乎"


1. 开发初衷

\quad 大家好,我是犬余,之前,为了体验一下MCP架构的JAVA实现,犬余使用了Spring AI框架(详见跑通了!JAVA实现、内网部署、基于MCP的智能问答!)。

\quad 但是体验了几天之后,发现SpringAI无法获取聊天过程中的思考过程,另外还有很多各个实现的包难以选择,又没找到详细的文档来了解这么多包要怎么用。

\quad 所以,出于学习的目的,犬余抛弃了Spring AI,转而自己尝试开发了一个框架来实现AI对话以及MCP的实现。项目地址为:

\quad https://github.com/quanyu-1995/qy-framework-ai.git

\quad 而由于犬余之前并不了解Netty框架以及WebFlux、Reactor等技术,本框架完全是一边学习一边开发的,初版的目的只是实现基础功能,所以框架本身的代码结构以及这些技术的应用还很表面。希望大家能给犬余的项目点个star⭐️支持一下,同时,也欢迎感兴趣的朋友们留言交流或者添加犬余的个人wx,共同学习或者提出您的宝贵意见:

2. 快速上手

\quad 下面简单说明一下本项目的使用,由于框架还不够完善,所以目前还没有提交到Maven仓库,项目共分为四个模块:

  • qy-framework-ai-mcp-client: 基础对话包,集成多种大模型,支持流式输出,内置MCP Client
  • qy-framework-ai-mcp-server: MCP Server扩展包
  • qy-framework-ai-example: 对话示例(含MCP Client示例)
  • qy-framework-ai-mcp-server-example: MCP Server示例

\quad 其中qy-framework-ai-mcp-serve以及qy-framework-ai-mcp-client是框架本体的两个包,分别对应MCP server和MCP client,另外的两个模块分别用于测试服务端和客户端。

\quad 其中服务端在注册MCP工具时,仅需添加注解@Tool即可

\quad 客户端首先需要在配置文件中添加相应的配置,包括大模型的API信息,以及服务端的地址,目前已测试通过的有deepseek API、Qwen3 API、以及Ollama本地部署的qwen3。

\quad 如果需要多轮对话,还可以使用默认的对话记录缓存策略(DefaultCacheStrategy),并添加相应的redis配置

\quad 当然,你也可以通过实现CacheStrategy接口来自定义对话记录持久化策略。

\quad 最后,在使用时则只需要注入ChatClient,直接调用对话接口即可~

\quad 可以看到,犬余的框架中提供了两种对话接口,分别对应普通的一次性输出结果以及打字机效果的流式输出。

3. 效果展示

\quad 同时,在qy-framework-ai-example中,犬余也放了一个简单的对话页面,来展现流式输出的效果:

4. 诚挚邀请

\quad 以上就是犬余的项目的基本内容啦,本项目是犬余的第一个开源项目,希望大 家能给犬余的项目点个star⭐️支持一下:
\quad https://github.com/quanyu-1995/qy-framework-ai.git
\quad 同时,也欢迎感兴趣的朋友们留言交流或者添加犬余的个人wx,共同学习或者提出您的宝贵意见~

关注犬余,共同进步
技术从此不孤单

相关推荐
FPGA信号处理14 分钟前
【模式识别】第三节课:分类误差的来源与线性分类器
人工智能·分类·数据挖掘
hrrrrxeeeee14 分钟前
电商从业者AI技能提升:证书选择与商品、客服、运营场景落地
人工智能
小和尚同志5 小时前
1.8k star 的开源 token 使用量监控神器— TokenTracker
人工智能·ai编程
极客 - L U6 小时前
神经网络 - 激活函数、损失函数、优化器
人工智能·深度学习·神经网络
Sarvartha6 小时前
final 关键字
java·开发语言
2601_952047796 小时前
单一策略深度教程:用轻易云把集成任务的报错实时推送到钉钉机器人
java·机器人·钉钉
数字融合7 小时前
透明化视频三维矿山井下照明重建技术
人工智能·python·数码相机
yi0117 小时前
LeetCode 219:存在重复元素 II——哈希表记录“最近一次出现的位置”
数据结构·人工智能·笔记·python·算法·leetcode·哈希表
xiangzhihong87 小时前
创之星花店多端业务闭环拆解
人工智能
Joy T7 小时前
Spring AI 项目中的 pom.xml、application.yml 与 Nacos:从依赖管理到运行配置
spring·nacos·pom.xml·profile·参数配置·application.yml