
Crispix Agent(基于genie二次开发的图像智能体)开发完成!!!
前言
历时几个月终于算基本是开发完毕了,本来是计划10月或者11月搞定了,但是最后一学期忙着搞其他事情也就耽搁了挺久。很多时候还得慢慢想方案找思路。这里提名两位"得力干将",Trae和cursor,想方案 分析架构 写代码提供了莫大助力。不然这东西单凭我一个大三学生绝对搞不定。好了介绍一下项目吧
React模式的回归
我在之前的贴子说过打算这个项目全部都使用plan and executor模式,但是经过了很多次测试发现这个模式在处理简单任务常常会出现过度规划和调用的毛病,明明一件改图的需求就是要搞好多轮任务,浪费时间和浪费资源。一开始我考虑使用意图识别,让一个中间小模型判断得使用什么模式。如果识别出是复杂任务就使用plan 简单任务就react。但是这种效果经过测试并不稳定,很多时候简单的任务还是会调用plan模式,所以并不是很好的选择,那难道要让用户自主选择吗?答案是对的。有天晚上我跟我妈沟通之前那个spring ai REACT图像智能体的使用情况,她说基本上大部分都够用很多时候比豆包都吊,这样子就挺好的。我意识到普通的react模式就已经适合处理绝大部分场景了,plan很多时候根本就是多此一举,强行加入意图识别反而牺牲用户体验,所以应该保留原本默认的react,plan作为扩展,如果用户需要复杂任务的规划就让他自己选择。唉,好好好搞了一圈又回来了,还是用genie原本的结构 PLAN模式


REACT模式

多模态 提示词调优工具
多模态
多模态图像理解对于我的图像智能体来说多模态算是个很重要的功能了,多模态模型可以让agent在思考阶段就更加理解用户的意图,使得agent在规划任务和调用工具更加准确。相比普通文本模型+视觉理解模型也可以很好的节省任务步骤。genie本身对多模态的编写其实算不是很好的支持,代码部分有很多需要修改,比如不支持多图理解等,还有提示词部分不支持多图,上下文对用户初始上传的图片和后面工具调用生成的图片没有做很好的区分。这部分修改一下系统提示词和上下文提示词。区分用户上传的图片和生成的图片,多模态方面把上传图片String改为List,然后做代码对应修改即可,最后记得模型一定要是多模态模型,不然上传图片传入参数他会报错。这里用的是doubao-1.6-vision。这样子就完成了对多模态的改造。



提示词调优工具
文生图很重要的一个东西就是提示词,一个好的提示词能生成一张效果十分惊艳的图片,所以对于我的图像智能体加入这个工具是必不可少的。那要加入这个工具就需要大量数据,然后让他基于这些数据生成。那要搞这些就不可避免的遇到一个东西--RAG。但是我本身并没有RAG基础,学习RAG对我而言成本太高,所以我选择了更加简单的方式,选择在阿里云百炼平台搞一个智能体应用,然后通过调用api的方式拿到调优后的提示词,这方法简单粗暴,可以简单的反复调试,很好的节省了学习的成本。而且这也算multi-agent吧。ps:如果以后需求的话估计还是得学,到时langgraph工作流是个不错的选择。
历史记录开发
这个功能是我最不愿意面对的,因为设计很多设计对流式消息的处理而且字段也复杂,消息类型也多,在哪存 存哪都是个问题,搞这东西就是项大工程。不过好在有ai的帮助还有我慢慢调试和硬啃之下还是啃下来了。按照下方图片的架构,APP就是项目表,代表这一整个项目,session就是消息段,代表用户发送的这一整段消息,message消息表记录每一条消息的id 类型,但不记录具体内容,要具体内容需要根据id和类型去消息载荷表里面查找,这样子就组成了一个存储历史消息的完整结构了。当然实际开发依旧困难重重,得多轮调试,前端还得根据历史记录再写一套处理逻辑等等等。

前端处理
前端也花了不少功夫,几个页面发送消息创建项目的处理,附件部分的优化,跨页面数据传输,历史消息记录的获取和返回逻辑整合 在开发过程中发现antd和antdx版本更新了也升级整理了一下,这一部分其实能讲的的挺多的,但我写累了,就下次再讲吧。 然后还解决了鱼皮图库项目的一个bug,在调用对象存储url方式上传的时候,图片是打不开的文件的后缀是只有一个小点,缺少了格式,这是皮总的处理方式是将图片转换成jpg格式这样子图片就能显示了。但其实不用这样,只需要让代码拿到文件后缀然后将路径和后缀拼接上就能拿到原图了,代码我就下期放吧,挖个坑,也累了
图片信息 上传 视觉理解能力





之后计划
其实我是一直想开发一个偏正式化的项目,更企业化的前端 更前沿的技术 更有亮点的功能,之前的图库不是很美观,而且很多代码功能写的并不是很好,比如登录 ip校验 限流等,在实际使用中还是容易出现很多的缺陷,我那个登录的redis就一直莫名其妙挂,我排查了好久也排查不出来原因,于是。。。


这个网站还是能给很多人带来帮助的,所以我单挑了里面一些比较常用的功能搞了一个新的网站,图盘本身需求并不是很多所以给我剔除了,保留了智能体部分,之后的话就继续优化这个智能体,完善网站,加上登录注册限流等基础功能。大概在元旦应该可以开发完毕部署上线,到时候希望各位鱼友帮我测试一下。 到这里其实功能主要就是智能体agent,不过嘛。其实也不止这个,我个人还是其他的想法加些新功能的,看能不能在元旦前搞定,继续挖个坑嘿嘿 登录部分这几天做了,技术打算采用jwt+双token机制+限流+限ip+验证码。上次登录做崩了,这次有了cursor相信一定能搞定!!!
