基于 Spring Boot 和 LangChain4j 的智能金融数据分析师助手。
QuantAgent 是一个 AI 驱动的金融数据分析平台,集成智谱 AI 大语言模型,提供智能化的股票数据查询和分析服务。AI 助手"小财"能够理解自然语言查询,自动调用工具获取股票数据并进行专业分析。
- 智能对话: 基于 GLM-4.5-air 模型的金融数据分析师助手
- 股票 K 线查询: 支持日线、周线、月线及分钟级数据查询
- 股票列表查询: 获取全市场股票列表信息
- 流式响应: 支持 SSE 流式输出,实时返回 AI 回复
- Tool Calling: AI 自动识别意图并调用相应工具
| 技术 | 版本 | 说明 |
|---|---|---|
| Java | 25 | 编程语言 |
| Spring Boot | 4.0.3 | Web 框架 |
| LangChain4j | 1.11.0 | LLM 应用框架 |
| PostgreSQL | - | 数据库 |
| MyBatis Plus | 3.5.15 | ORM 框架 |
| Gradle | - | 构建工具 |
src/main/java/com/zyysjk/xyz/quantagent/
├── config/ # 配置类
│ └── RestTemplateConfig.java
├── controller/ # 控制器
│ └── ChatController.java
├── entity/ # 实体类
│ └── StockBasicInfo.java
├── interfaces/ # AI 服务接口
│ └── FinanceAssistant.java
├── mapper/ # MyBatis Mapper
│ └── StockBasicInfoMapper.java
├── model/ # 数据模型
│ ├── StockDataResponse.java
│ └── StockListResponse.java
├── service/ # 服务层
│ ├── StockDataService.java
│ └── ZhipuAiService.java
└── tools/ # AI 工具
├── Stock.java
├── StockQuery.java
├── CodeQuery.java
└── service/
- JDK 25+
- PostgreSQL 数据库
- 智谱 AI API Key
-
克隆项目
git clone <repository-url> cd QuantAgent
-
配置环境变量
复制
.env.example为.env并填写配置:# 智谱 AI 配置(必填) ZHIPU_AI_API_KEY=your_api_key_here ZHIPU_AI_BASE_URL=https://open.bigmodel.cn/api/paas/v4 # 数据库配置(可选) DB_PASSWORD=your_db_password # 股票 API 配置(可选) STOCK_API_BASE_URL=http://localhost:8000
-
创建数据库
CREATE DATABASE quantagent;
-
运行项目
./gradlew bootRun
普通对话
GET /api/chat/chat?message=你的问题
流式对话 (SSE)
GET /api/chat/chat-stream?message=你的问题
# 查询股票信息
curl "http://localhost:8080/api/chat/chat?message=查询sh.600000浦发银行最近30天的数据"
# 流式对话
curl "http://localhost:8080/api/chat/chat-stream?message=分析一下平安银行近期的走势"| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| stockCode | String | 是 | 股票代码 (如 sh.600000) |
| startDate | String | 是 | 开始日期 (YYYY-MM-DD) |
| endDate | String | 是 | 结束日期 (YYYY-MM-DD) |
| frequency | String | 否 | 频率: d/w/m/5/15/30/60 |
| adjustflag | String | 否 | 复权: 1-后复权 2-前复权 3-不复权 |
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| stockCode | String | 是 | 股票代码 |
| days | int | 否 | 查询天数,默认 30 |
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| date | String | 否 | 查询日期,不传则查询最新 |
详细的配置说明请参考:
- 访问 智谱 AI 开放平台
- 注册并登录账号
- 在控制台创建 API Key
本项目仅供学习和研究使用。