告别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,共同学习或者提出您的宝贵意见~

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

相关推荐
CareyWYR4 分钟前
每周AI论文速递(250811-250815)
人工智能
武昌库里写JAVA7 分钟前
JAVA面试汇总(四)JVM(一)
java·vue.js·spring boot·sql·学习
AI精钢10 分钟前
H20芯片与中国的科技自立:一场隐形的博弈
人工智能·科技·stm32·单片机·物联网
whaosoft-14321 分钟前
51c自动驾驶~合集14
人工智能
Jinkxs1 小时前
自动化测试的下一站:AI缺陷检测工具如何实现“bug提前预警”?
人工智能·自动化
小幽余生不加糖1 小时前
电路方案分析(二十二)适用于音频应用的25-50W反激电源方案
人工智能·笔记·学习·音视频
落霞的思绪1 小时前
Java设计模式详细解读
java·开发语言·设计模式
Java小白程序员1 小时前
Spring Framework:Java 开发的基石与 Spring 生态的起点
java·数据库·spring
柠檬味拥抱1 小时前
优化AI智能体行为:Q学习、深度Q网络与动态规划在复杂任务中的研究
人工智能
玄明Hanko1 小时前
程序员如何使用 cursor 写代码?
人工智能