Skip to content

363045841/QuantAgent

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

QuantAgent

基于 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

配置步骤

  1. 克隆项目

    git clone <repository-url>
    cd QuantAgent
  2. 配置环境变量

    复制 .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
  3. 创建数据库

    CREATE DATABASE quantagent;
  4. 运行项目

    ./gradlew bootRun

API 接口

对话接口

普通对话

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=分析一下平安银行近期的走势"

AI 工具说明

1. K 线数据查询 (Stock.getKLine)

参数 类型 必填 说明
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-不复权

2. 快捷查询 (StockQuery.queryRecentDays)

参数 类型 必填 说明
stockCode String 股票代码
days int 查询天数,默认 30

3. 股票列表 (StockQuery.getAllStocks)

参数 类型 必填 说明
date String 查询日期,不传则查询最新

配置说明

详细的配置说明请参考:

获取 API Key

  1. 访问 智谱 AI 开放平台
  2. 注册并登录账号
  3. 在控制台创建 API Key

许可证

本项目仅供学习和研究使用。

About

借助 langchain4j 操作 kLineChart 组件库的问财助手

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages