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

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

相关推荐
编码小哥3 小时前
OpenCV Haar级联分类器:人脸检测入门
人工智能·计算机视觉·目标跟踪
程序员:钧念4 小时前
深度学习与强化学习的区别
人工智能·python·深度学习·算法·transformer·rag
数据与后端架构提升之路4 小时前
TeleTron 源码揭秘:如何用适配器模式“无缝魔改” Megatron-Core?
人工智能·python·适配器模式
Chef_Chen5 小时前
数据科学每日总结--Day44--机器学习
人工智能·机器学习
这张生成的图像能检测吗5 小时前
(论文速读)FR-IQA:面向广义图像质量评价:放松完美参考质量假设
人工智能·计算机视觉·图像增强·图像质量评估指标
kk哥88995 小时前
如何快速掌握JavaSE的核心语法?
java
我是一只小青蛙8885 小时前
AVL树:平衡二叉搜索树原理与C++实战
java·jvm·面试
KG_LLM图谱增强大模型5 小时前
本体论与知识图谱:揭示语义技术的核心差异
人工智能·知识图谱·本体论
浩瀚地学6 小时前
【Java】JDK8的一些新特性
java·开发语言·经验分享·笔记·学习