萨瑞饨 发表于 2025-8-18 08:34:50

利用ruoyi框架开发自己的后台管理系统日志(8.7)

今天是个激动人心的日子,因为我的管理系统已经正式引入DeepSeek作为聊天助手了!
放张图:

不得不说现在接入AI还是很方便,但是在一开始还是出了蛮多问题的,比如一开始最大的问题就是依赖。
根据查到的资料来说,SpringAI的官方bom依赖是org.springframework.ai,且只有JDK17以上可以使用(也就是说我原来的JDK8老项目用不了)
但是在aliyun的官仓里却不叫这个名字,而是group.springframework.ai,即使其他的诸如security和Lombok都是org.开头的,与其多引入spring仓库
不如直接去阿里云仓库查一下叫什么就好了,如果有遇到用阿里云的maven但依赖名和版本不对的,可以访问如下网站自行查询
https://maven.aliyun.com/mvn/search
既然提到了聊天,那毫无疑问最简单的聊天实现就是Websocket,目前的版本没有做历史记录存储,所以在没有涉及数据库的情况下只要有一个Service,一个响应类和handler就行了。
当然websocket的配置类也少不了,需要在配置类里打开EnableWebSocket注解并配置ws开头的websocket地址。
所以直接Override这个registerWebSocketHandlers方法,在传参的registry里调用addHandler添加ws地址即可。
    @Override
    public void registerWebSocketHandlers(WebSocketHandlerRegistry registry) {
      registry.addHandler(aiChatWebSocketHandler(), "/ws/ai-chat")
                .setAllowedOrigins("*"); // 在生产环境中应该配置具体的域名
    }构建消息的响应类除了消息类型和内容还要定义时间戳,就不多说了。
如果有做过用三方接口提供的JSON数据导入数据库的人应该很熟悉接下来的操作:
其实就是构建了一个类型为POST的HTTP请求,然后在配置文件里配置API-KEY,最后用JSON去调用就行了。
每发一次消息就调用一次接口传入聊天信息,再返回。
8.12补:
这样的实现方法其实完全没有使用到OpenAI的包,也就是直接构建http响应去调用,还有一种方法通过springai的包构建请求
我们直接new一个OpenAIApi:
OpenAiApi openAiApi = new OpenAiApi(baseUrl, apiKey);创建聊天选项:配置你需要的模型,温度,最大token数等参数
OpenAiChatOptions chatOptions = OpenAiChatOptions.builder()
                .withModel(model)
                .withTemperature(xxx)
                .withMaxTokens(xxx)
                .build();接着传入配置了URL和你自己key的oepnAiApi和你的模型设置,创建聊天模型
OpenAiChatModel chatModel = new OpenAiChatModel(openAiApi, chatOptions);最后创建client即可大功告成:
this.chatClient = ChatClient.builder(chatModel).build();
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
页: [1]
查看完整版本: 利用ruoyi框架开发自己的后台管理系统日志(8.7)