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

springboot+langchain4j 实战 Day12 实现流式对话 + 打字机效果的前端聊天页面

Day 12 — SSE 流式对话

完成内容

目标

实现流式对话 + 打字机效果的前端聊天页面,替代 curl 调试,实现成果可视化。

后端改动

  1. ChatModelConfig.java— 新增StreamingChatLanguageModelBean

    • 使用OpenAiStreamingChatModel(硅基流动兼容 OpenAI streaming 协议)
    • 超时 120s(流式需要更长等待)
  2. SSEController1.java— 从 Day1 迁移,适配 Day12 包结构

    • GET /stream/chat?message=xxx
    • 返回text/event-stream,逐 token 推送
    • SseEmitter 超时 2 分钟
  3. application.yml— 端口 8088、去 Jasypt、明文 API Key

  4. pom.xml— 去 Jasypt 依赖、修正包名版本号

前端 (static/index.html)

  • 纯原生 HTML/CSS/JS,零依赖
  • 暗色主题(Tailwind 色板风格)
  • 双模式切换:
    • ⚡ 流式:EventSource → SSE → 逐 token 追加 + 闪烁光标打字机效果
    • 🤖 Agent:fetch /agent/chat → JSON 一次性返回
  • 输入框 + Enter 发送
  • 响应式自适应

验证结果

  • Agent 端点:curl "http://localhost:8088/agent/chat?message=hi"{"code":200,"data":"Hello!..."}
  • SSE 端点:curl "http://localhost:8088/stream/chat?message=你好"→ 逐 token 流式输出 ✅
  • 前端页面:http://localhost:8088/index.html正常加载 ✅

Agent 端点

SSE 端点:居然乱码了

换成postman

前端页面流式输出测试

踩坑:密钥不能加密,不然报错

访问方式

启动项目后浏览器打开http://localhost:8088/index.html

http://www.gsyq.cn/news/1593471.html

相关文章:

  • 终极AMD硬件调试指南:5个技巧彻底释放Ryzen处理器性能潜力
  • NXP PCA9629A步进电机驱动开发:I2C接口编程与OM13285开发板实战
  • PoE电源变压器选型指南:从功率等级到磁芯架构(以沃虎电子为例)
  • LPC122x I2C总线故障恢复与SSP配置实战指南
  • P89LPC910x看门狗与IAP-Lite实战:嵌入式系统可靠性与Flash编程指南
  • 深度解析SMUDebugTool:AMD Ryzen系统调试与性能优化的终极实战指南
  • 宁海口腔诊所性价比分析
  • 不只是聊天,Ryzen AI 在数据分析中的本地化应用
  • Java源码保护实战:自定义类加载器与代码混淆协同构建反编译防御体系
  • P89LPC93x1启动向量与Flash安全配置实战指南
  • ARM9嵌入式系统硬件实时追踪(ETM/ETB)原理与实战调试指南
  • LPC3130/31 USB OTG中断与DMA配置实战:构建高效嵌入式数据采集系统
  • FMA音乐数据集完整教程:如何免费获取106,574首音乐进行AI分析
  • OBS多平台直播终极指南:obs-multi-rtmp免费插件完整配置教程
  • NXP PCA8538 LCD驱动芯片与OM13501评估板实战指南
  • 除了细胞聚类,空间转录组高分文章还能做哪些分析?
  • Beyond Compare 5终极授权解决方案:简单快速的密钥生成与激活完整指南
  • 大语言模型如何可控跳出思维框架:七种实操触发机制
  • Web安全实战:从信息收集到漏洞挖掘的40个核心技巧与心法
  • 如何快速掌握猫抓视频嗅探工具:专业用户的终极下载指南
  • Sunshine游戏串流完整指南:3步打造你的跨平台家庭游戏中心
  • I2C总线状态机编程实战:从协议原理到NXP LPC驱动实现
  • WeChatMsg:如何永久保存微信聊天记录的完整指南
  • 3分钟快速上手:Playwright MCP让AI助手轻松自动化浏览器操作
  • P89LPC970系列MCU电源管理、复位系统与定时器实战解析
  • 【计算机毕业设计案例】基于 SpringBoot 的教学工作量自动统计与核算系统的设计与实现 高校教师授课工作量数据管理统计系统(程序+文档+讲解+定制)
  • Xenos:突破性Windows DLL注入工具完全指南
  • VirtualBox用户紧急注意!Windows 11 24H2已触发其内核模块兼容性崩溃(CVE-2024-31238),VMware补丁已上线——迁移避坑清单速领
  • 3分钟解锁QQ音乐加密文件:QMCDecode让你的音乐库真正自由
  • B-极小矩阵问题:从C*-代数到特征值优化的算法实践