JOURNAL / 随笔

ShotAI-项目介绍

ShotAI-项目介绍 封面
本文目录
  1. ShotAI - 智能股票助手项目介绍
    1. 📖 项目概述
      1. 🎯 项目定位
      2. ✨ 核心特性
    2. 🏗️ 技术架构
      1. 整体架构图
      2. 技术栈详解
    3. 💡 应用场景
      1. 场景一:财报快速分析
      2. 场景二:研报智能问答
      3. 场景三:投资决策辅助
    4. 📊 项目亮点
      1. 1. 技术创新
      2. 2. 用户体验
      3. 3. 可扩展性
    5. 🚀 快速开始
      1. 环境要求
      2. 安装步骤
    6. 📁 项目结构
    7. 🔮 未来规划
      1. 短期目标
      2. 中期目标
      3. 长期目标
    8. 📝 总结
    9. 📄 许可证

ShotAI - 智能股票助手项目介绍

📖 项目概述

ShotAI 是一个基于 Spring AI 和 Vue.js 构建的智能对话系统,定位为私人股票助手。它不仅能够进行流畅的 AI 对话,还支持上传股票相关文档(如财报、研报、行业分析等),通过 RAG(检索增强生成)技术为用户提供基于知识库的专业问答服务。

🎯 项目定位

作为一个私人股票助手,ShotAI 可以帮助投资者:

  • 📊 快速分析财报:上传 PDF 格式的财报,快速提取关键信息
  • 📈 研报智能问答:基于上传的研究报告进行深度问答
  • 💡 投资决策辅助:结合 AI 大模型的分析能力,提供投资建议
  • 🔍 知识库检索:从海量文档中快速找到相关信息

✨ 核心特性

1. 实时流式对话

采用 SSE(Server-Sent Events)技术实现打字机效果,让 AI 回复更加自然流畅,提升用户体验。

2. RAG 知识库问答

支持上传多种格式文档(PDF、TXT、DOC、DOCX),系统会自动:

  • 解析文档内容
  • 智能分割文本
  • 向量化存储
  • 语义检索相关内容

3. 多模式切换

  • 普通对话模式:直接与 AI 对话,获取通用知识
  • RAG 模式:基于上传的文档进行专业问答
  • 未来扩展:支持联网搜索、图表分析等

4. 现代化 UI 设计

  • 响应式布局,适配各种设备
  • 渐变色设计,视觉效果出色
  • 流畅动画,交互体验优秀

🏗️ 技术架构

整体架构图

┌─────────────────────────────────────────────────────────────┐
│ 前端层 (Vue 3) │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │ 聊天界面 │ │ 文档上传 │ │ SSE连接 │ │ 路由管理 │ │
│ └──────────┘ └──────────┘ └──────────┘ └──────────┘ │
└─────────────────────────────────────────────────────────────┘
↕ HTTP/SSE
┌─────────────────────────────────────────────────────────────┐
│ 后端层 (Spring Boot) │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │ Controller│ │ Service │ │ SSE管理 │ │ 配置层 │ │
│ └──────────┘ └──────────┘ └──────────┘ └──────────┘ │
└─────────────────────────────────────────────────────────────┘

┌─────────────────────────────────────────────────────────────┐
│ AI 服务层 │
│ ┌──────────────┐ ┌──────────────┐ │
│ │ DeepSeek │ │ Ollama │ │
│ │ (对话模型) │ │ (嵌入模型) │ │
│ └──────────────┘ └──────────────┘ │
└─────────────────────────────────────────────────────────────┘

┌─────────────────────────────────────────────────────────────┐
│ 存储层 │
│ ┌──────────────┐ │
│ │ Redis │ │
│ │ (向量存储) │ │
│ └──────────────┘ │
└─────────────────────────────────────────────────────────────┘

技术栈详解

后端技术栈

技术 版本 用途
Spring Boot 3.5.7 核心框架
Spring AI 1.0.3 AI 集成框架
DeepSeek deepseek-chat 对话生成模型
Ollama bge-m3 文本嵌入模型
Redis - 向量数据库
Lombok - 简化开发

前端技术栈

技术 版本 用途
Vue 3 3.5.22 前端框架
Ant Design Vue 4.2.6 UI 组件库
Axios 1.12.2 HTTP 客户端
Vite 7.1.7 构建工具
Vue Router 4.6.3 路由管理

💡 应用场景

场景一:财报快速分析

用户:上传某公司 Q3 财报 PDF
系统:自动解析并向量化存储
用户:这家公司的营收增长率是多少?
AI:根据财报显示,该公司 Q3 营收同比增长 25.6%...

场景二:研报智能问答

用户:上传多份行业研报
系统:构建行业知识库
用户:新能源汽车行业的主要风险是什么?
AI:基于已上传的研报,主要风险包括:1. 政策变化...

场景三:投资决策辅助

用户:我想了解这只股票的基本面
AI:结合知识库和 AI 分析能力,提供:
- 财务指标分析
- 行业地位评估
- 风险提示
- 投资建议

📊 项目亮点

1. 技术创新

  • ✅ 采用最新的 Spring AI 框架,代码简洁优雅
  • ✅ SSE 流式传输,实现打字机效果
  • ✅ RAG 技术,让 AI 基于真实数据回答
  • ✅ Redis 向量存储,检索速度快

2. 用户体验

  • ✅ 实时响应,无需等待完整回复
  • ✅ 支持中断生成,用户可控
  • ✅ 文档上传进度显示
  • ✅ 界面美观,操作流畅

3. 可扩展性

  • ✅ 模块化设计,易于添加新功能
  • ✅ 支持多种文档格式
  • ✅ 可轻松切换 AI 模型
  • ✅ 前后端分离,独立部署

🚀 快速开始

环境要求

  • Java 17+
  • Node.js 20.19+
  • Redis(端口 9379)
  • Ollama(bge-m3 模型)
  • DeepSeek API Key

安装步骤

1. 启动 Redis

redis-server --port 9379
redis-cli -p 9379
CONFIG SET requirepass "123456"

2. 启动 Ollama

ollama pull bge-m3
ollama serve

3. 配置后端

编辑 ShotAI-back/src/main/resources/application.yml

spring:
ai:
deepseek:
api-key: your-api-key-here # 替换为你的 API Key

4. 启动服务

后端:

cd ShotAI-back
mvn spring-boot:run

前端:

cd ShotAI-front
npm install
npm run dev

5. 访问应用

打开浏览器访问:http://localhost:5173

📁 项目结构

shotAI/
├── ShotAI-back/ # 后端项目
│ ├── src/main/java/
│ │ └── com/alexjoker/shotai/
│ │ ├── controller/ # REST 控制器
│ │ │ ├── ChatController.java
│ │ │ ├── RagController.java
│ │ │ └── SseController.java
│ │ ├── service/ # 业务接口
│ │ ├── serviceImpl/ # 业务实现
│ │ │ ├── ChatServiceImpl.java
│ │ │ ├── RagServiceImpl.java
│ │ │ └── DocumentServiceImpl.java
│ │ ├── config/ # 配置类
│ │ │ ├── VectorStoreConfig.java
│ │ │ └── CorsConfig.java
│ │ ├── dto/ # 数据传输对象
│ │ └── utils/ # 工具类
│ │ ├── SSEServer.java
│ │ └── SSEMsgType.java
│ └── src/main/resources/
│ └── application.yml # 配置文件

└── ShotAI-front/ # 前端项目
├── src/
│ ├── api/ # API 接口
│ │ ├── chat.js
│ │ └── rag.js
│ ├── views/ # 页面组件
│ ├── router/ # 路由配置
│ └── styles/ # 样式文件
└── vite.config.js # Vite 配置

🔮 未来规划

短期目标

  • 添加用户认证系统
  • 支持对话历史持久化
  • 优化文档解析性能
  • 添加更多文档格式支持

中期目标

  • 集成实时股票数据 API
  • 添加图表分析功能
  • 支持多用户协作
  • 移动端适配

长期目标

  • 开发独立的移动 APP
  • 添加语音交互功能
  • 构建股票知识图谱
  • 提供个性化推荐

📝 总结

ShotAI 是一个功能完整、技术先进的智能股票助手项目。它不仅展示了如何将大语言模型应用到实际场景中,还通过 RAG 技术解决了 AI 幻觉问题,让回答更加准确可靠。

无论你是投资者、开发者还是 AI 爱好者,都可以从这个项目中获得启发。项目采用模块化设计,易于理解和扩展,是学习 Spring AI 和 RAG 技术的绝佳案例。

📄 许可证

MIT License


如果觉得这个项目不错,请给个 ⭐️ Star!

Made with ❤️ by AlexJoker

分享ShotAI-项目介绍

交流与讨论

评论由 Valine / LeanCloud 提供,点击后连接第三方服务。

搜索文章