当前位置: 首页 > news >正文

做投资的网站高端网站建设成都

做投资的网站,高端网站建设成都,c9设计软件,湖北建设前言 最近赶上AI的热潮,很多业务都在接入AI大模型相关的接口去方便的实现一些功能,后端需要做的是接入AI模型接口,并整合成流式输出到前端,下面有一些经验和踩过的坑。 集成 Spring WebFlux是全新的Reactive Web技术栈&#xf…

前言

最近赶上AI的热潮,很多业务都在接入AI大模型相关的接口去方便的实现一些功能,后端需要做的是接入AI模型接口,并整合成流式输出到前端,下面有一些经验和踩过的坑。

集成

Spring WebFlux是全新的Reactive Web技术栈,基于反应式编程,很适合处理我们需求的流式数据。

依赖

只需要下面这一个依赖即可,但是需要助力springboot父版本,不同的版本在相关的API实现上面有些许的差别。

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-webflux</artifactId>
</dependency>

代码

这边我在controller写了一个测试代码,意思是每秒产生一段json数据,一共10次,需要注意,响应头一定要设置text/event-stream 这个值,标志着是流式输出

@GetMapping(path = "/test/chat", produces = MediaType.TEXT_EVENT_STREAM_VALUE)public Flux<String> chatTest() {//chat交互测试return Flux.interval(Duration.ofSeconds(1)).take(10).map(sequence -> "{" + "    \"data\": \"33\"," + "    \"count\": \"" + sequence + "\"" + "}");}

postman 调用接口测试下,正常返回数据了
在这里插入图片描述

后端集成AI大模型

在实际业务中,基本上都是后端来调用 deepseek,再返回给前端,下面大概是集成

public Flux<ServerSentEvent<ObjectNode>> chat() {WebClient webClient = WebClient.create();
String url = "大模型url链接"return webClient.post().uri(url).header("Accept", "text/event-stream").body(BodyInserters.fromObject(reqNode))  // 注意高版本的API 可以直接用 bodyValue().retrieve().bodyToFlux(new ParameterizedTypeReference<ServerSentEvent<ObjectNode>>() {}).log().onBackpressureBuffer().doOnError(throwable -> {//错误处理log.error("chat request error -> {}", throwable.getMessage());throw new RuntimeException("request error -> " +throwable.getMessage());}).doOnNext(v -> {//每次输出流处理log.info("received chat message: {}", v);}).doOnComplete(() -> {//流输出完成处理});

一些错误解决

reactor.core.Exceptions$OverflowException: Could not emit buffer due to lack of requests

报错是由于发布者(Publisher)尝试以比订阅者(Subscriber)请求速率更快的速度推送数据时。这种情况违反了 Reactive Streams 的背压(Backpressure)机制,导致异常抛出。导致流异常终止。
在上面请求时加上了 .onBackpressureBuffer() 用缓冲机制解决

http://www.dtcms.com/a/439282.html

相关文章:

  • 丹阳网站怎么做seo主机屋 WordPress 问题 多
  • 中文名字英文名字日本名字txt合集
  • 搜狗seo快速排名公司山东东营网络seo
  • 如何做百度的网站手工制作花朵
  • 【2025最新】ArcGIS for JS 实现地图卷帘效果
  • 网站域名备案密码新网站 被百度收录
  • 做网站开发没有人带贵阳市住房城乡建设局八大员网站
  • Vue3+TypeScript开发:从ProTable封装到Echarts联动
  • (二分、思维)洛谷 P4090 USACO17DEC Greedy Gift Takers P 题解
  • 业务层的抽取和业务层方法的实现详解
  • 【开题答辩全过程】以 “人和小区”便民快递平台为例,包含答辩的问题和答案
  • 找网络公司建网站每年收维护费手机网站会员中心模板
  • 网站建设公司谁管网络营销的发展趋势和前景
  • 网站建设公司包括哪些溧阳建设集团网站
  • wordpress访客统计插件网络优化怎么自己做网站
  • 小迪web自动笔记50
  • 网站模板交易seo 优化公司
  • 江西那家做网站公司好德州市住房和城乡建设局网站
  • 如何制作网站首页二维码生成短链接
  • GoFrame框架学习笔记
  • 东莞 网站建设淄博网站建设公司哪家好
  • 未备案运行网站2022年最新国际军事新闻
  • 门户网站集群建设域名注册服务商
  • MSF后渗透(提权)
  • 优秀的摄影作品网站企业管理课程视频
  • SNP亮相2025德莱维数字技术行业峰会
  • 中文人名生成器中文姓名姓氏名字称呼日本人名翻译人名英文人名可用于中文分词人名实体识别
  • 【Svelte】加载数据实现响应式的正确方式
  • 出售自己的网站Add-ons wordpress
  • 网络安全相关的专业术语