FinSight 是一个专为股票投研场景设计的开源 AI Agent 后端平台。它不仅仅是一个简单的 LLM 调用演示,而是一个展示了生产级 AI 系统工程能力的完整解决方案。通过实现证据驱动的研报生成、可恢复的长链路工作流、高并发控制及可追溯的 RAG 评测,FinSight 为构建可信、稳健的金融 AI 应用提供了最佳实践参考。

核心亮点:工程化而非玩具化
1. 证据驱动的可信研报
- 拒绝黑盒:AI Brief 输出包含评级、置信度、核心理由及风险点,每一结论均绑定可追溯的证据 Chunk(来自公告、财报及结构化数据)。
- 版本化缓存:报告缓存不仅基于 Prompt,更绑定
dataSnapshotHash,确保数据快照与结论的一致性,避免数据更新导致的结论过时。

2. 健壮的任务治理与并发控制
- 可恢复工作流:将数据采集、指标计算、索引、画像、研报生成拆分为独立阶段,支持状态机追踪、失败重试及 Dead Letter 处理。
- Redis Lua Single-flight:通过幂等 Key、Lease Owner 及 Fencing Token,防止多实例环境下昂贵 AI 任务的重复执行及缓存击穿。
- 透明化监控:前端直接暴露 Task 状态机、Attempts、Lease 信息等,让并发控制逻辑“可见”。

3. 混合检索与精准评测
- PostgreSQL/pgvector 混合召回:结合 JSONB 全文检索与向量相似度搜索,提升证据检索的准确率与覆盖率。
- 全方位 RAG 评测:内置命中率、证据覆盖率、答案一致性、幻觉风险及置信度校准等指标,量化 AI 输出质量,告别主观判断。
产品全景:机构级投研控制台
FinSight 自带一个功能完备的前端 Dashboard,直观展示后端能力:
- 行情与 AI 结论:输入股票代码,查看真实 K 线(含离线 Fallback)、均线、成交量及 AI 生成的投研简报。
- 工作流可视化:实时追踪 Research Task 的生命周期(创建 -> 采集 -> 计算 -> 索引 -> 生成 -> 完成)。
- 证据链追踪:点击报告中的引用,直接定位至原始文档片段,支持财务风险信号与健康卡片(盈利、成长、现金流、负债)的深度钻取。
- 智能图谱:展示事件、实体及关系网络,辅助发现潜在关联风险。
技术架构
- Backend: Spring Boot (Java 17) – 负责 API、工作流编排、指标计算及 RAG 逻辑。
- AI Service: FastAPI (Python 3.12) – 负责文档解析、Embedding、Rerank 及 LLM 生成(支持 Ollama/Qwen2.5)。
- Infrastructure:
- PostgreSQL + pgvector: 结构化数据存储与向量检索。
- Redis: 缓存、分布式锁及 Single-flight 控制。
- RabbitMQ: 异步任务队列与工作流调度。
- Elasticsearch: 全文检索引擎。
- MinIO: 非结构化文档存储。
快速开始:Docker 一键部署
1. 启动完整栈
git clone https://github.com/juanjuandog/FinSight-AI ~/work/FinSight-AI
cd ~/work/FinSight-AI
docker compose up -d --build
- 资源要求:建议预留 8GB+ 内存。
- 默认账号:PostgreSQL/RabbitMQ (
finsight/finsight), MinIO (finsight/finsight123)。
2. 运行 Demo 数据流
./scripts/quick-demo.sh
- 该脚本将模拟完整的投研流程: ingestion -> metric calculation -> indexing -> AI analysis -> evaluation。
- 访问
http://localhost:8080 查看 Dashboard。
3. 本地轻量模式(无 Docker)
若仅需体验后端逻辑,可使用内存仓储:
cd backend
mvn spring-boot:run
- AI Sidecar:若未安装 Ollama,系统将返回确定性的规则兜底结果,不影响 Dashboard 运行。
适用场景
- 学习与面试:深入理解生产级 AI Agent 的后端架构设计,包括状态机、并发控制、缓存策略及评测体系。
- 金融科技原型:作为构建股票分析、财报解读、风险监控等金融 AI 应用的起点。
- 工程最佳实践参考:学习如何处理长链路任务、保证数据一致性、实现可追溯的 RAG 及量化 AI 效果。
对于希望构建可信、可维护、可观测 AI 系统的开发者而言,FinSight 是一个极具价值的开源参考项目。